Skip to main content

Vad är OpenGL Rag;Plockning?

OpenGL Plockning i datorprogrammering är processen att bestämma vilket objekt inom en tredimensionell (3D) scen finns vid en given punkt på skärmen när scenen har gjorts.Det kan också hänvisa till att hitta flera objekt vid en punkt eller inuti en låda.Oftast OpenGL Plockning används för att bestämma vilket 3D -objekt på skärmen en användare försöker välja med en muspekare.Även om denna operation kan tyckas vara enkel, finns det flera subtiliteter i hur OpenGL gör en scen som kan göra den ganska komplex.Dessutom finns det inneboende problem i vissa grafikkort och förare som kan orsaka OpenGL Plocka funktion för att misslyckas och returnera falska resultat.

När en användare tittar på en 3D -scen på en datorskärm är den resulterande bilden känd som en rendering av scenen.Scenen lagras faktiskt i minnet som en samling av primitiva former eller polygoner, som själva bara är samlingar av 3D -punkter inom scenen.Datorn använder världskoordinater, som ibland kallas absoluta koordinater, för att utföra de flesta grundläggande funktioner som manipulerar objekt i scenen.I de flesta applikationer kan användaren manövrera scenens vy till olika vinklar så att objekt kan ses i olika perspektiv.Den virtuella platsen för användaren inom scenen kallas kameravinkeln eller kamerapositionen.

ynPlockning kommer från att bestämma platsen för musen på den tvådimensionella (2D) skärmen från ett eventuellt godtyckligt läge och vinkel i scenen, kamerapositionen.Eftersom återgivningen från den mänskliga betraktarens perspektiv verkligen är 2D, finns det inget sätt för användaren att tillhandahålla djupet på musklicket inuti scenen.OpenGL Att välja funktion löser detta komplexa problem på två sätt. Det första är att istället för att utföra en serie separata beräkningar för att översätta var tittaren är abstrakt och sedan hitta ett objekt i renderingsfönstret, gör funktionen faktiskt scenen som denGör när det normalt fungerar, med undantag för att den återgivning som används för val inte visas, används den endast för att beräkna de korrekta positionerna för objekt.Skillnaden är att istället för att göra hela området som skulle vara synligt för användaren, gör det bara området där musen ligger.Detta innebär att alla föremål som utställs är tekniskt vid den punkt där muspekaren finns. Det andra problemet, nämligen inte har något sätt att ange djupet i ett vald område, löses genom att returnera alla föremål som är under muskoordinaterna i husetscen.OpenGL Att plocka funktion returnerar alla objekt i en matris tillsammans med hur långt bort de är från tittarens plats.Detta gör att ett program snabbt kan hitta det närmaste objektet om så önskas. Ett sätt att visualisera OpenGL Plockning är att föreställa sig en linje, ibland kallad en stråle i 3D -programmering, flytta från platsen för muspekaren in i scenen och bort från tittarens plats.Varje objekt som denna stråle berör läggs till i en rad objekt, tillsammans med hur långt bort det är från tittaren.Detta är en mycket enkel förklaring av hur en form av OpenGL plockningsarbeten. En annan metod för objektplockning i OpenGL innebär att hitta ett objekt efter färg, och det kan vara betydligt snabbare.Denna metod gör scenen, men istället för att applicera belysning och struktur på föremålen görs de istället med en enda, enkel färg.Varje objekt eller grupp av objekt har sin egen distinkta färg.Scenen återges bara i minnet och visas inte, så det påverkar inte vad användaren ser.Istället för att leta efter 3D -kollisioner mellan objekt returneras färgen på musmarkörens position istället, och den färgen kommer att korrelera med ett specifikt objekt.