Skip to main content

Hva er OpenGL Plukke?

OpenGL Å velge i dataprogrammering er prosessen med å bestemme hvilket objekt i en tredimensjonal (3D) scene er plassert på et gitt punkt på skjermen når scenen er gjengitt.Det kan også referere til å finne flere objekter på et punkt eller inne i en boks.Oftest opengl reg;Plukking brukes til å bestemme hvilket 3D -objekt på skjermen en bruker prøver å velge med en musemarkør.Selv om denne operasjonen kan se ut til å være enkel, er det flere subtiliteter i hvordan OpenGL Gjør en scene som kan gjøre den ganske kompleks.I tillegg er det iboende feil i visse grafikkort og drivere som kan forårsake OpenGL plukkerfunksjon for å mislykkes og returnere falske resultater.

Når en bruker ser på en 3D -scene på en dataskjerm, er det resulterende bildet kjent som en gjengivelse av scenen.Scenen er faktisk lagret i minnet som en samling av primitive former eller polygoner, som i seg selv bare er samlinger av 3D -punkter innenfor rommet til scenen.Datamaskinen bruker verdenskoordinater, som noen ganger kalles absolutte koordinater, for å utføre de fleste grunnleggende funksjoner som manipulerer objekter i scenen.I de fleste applikasjoner er brukeren i stand til å manøvrere synet på scenen til forskjellige vinkler slik at objekter kan sees i forskjellige perspektiver.Den virtuelle plasseringen av brukeren i scenen kalles kameravinkelen eller kameraposisjonen.

kompleksiteten til OpenGL Plukking kommer fra å bestemme plasseringen av musen på den todimensjonale (2D) skjermen fra en muligens vilkårlig posisjon og vinkel i scenen, kameraposisjonen.I tillegg, fordi gjengivelsen fra den menneskelige seerens perspektiv virkelig er 2D, er det ingen måte for brukeren å gi dybden på museklikk på innsiden av scenen.OpenGL Å velge funksjon løser dette komplekse problemet på to måter.

Det første er at i stedet for å utføre en serie separate beregninger for å oversette der betrakteren er abstrakt og deretter finne et objekt i gjengivelsesvinduet, gjengir funksjonen faktisk scenen som denGjør når du normalt fungerer, med unntak av at gjengivelsen som brukes til valg ikke vises, brukes den bare til å beregne de riktige posisjonene til objekter.Forskjellen er at i stedet for å gjengi hele området som vil være synlig for brukeren, gjengir det bare området der musen ligger.Dette betyr at alle gjenstander som er gjengitt er teknisk på det punktet hvor musepekeren er lokalisert.

Det andre problemet, nemlig ikke har noen måte å indikere dybden på et valgt område, løses ved å returnere alle objekter som er under musekoordinatene iscene.OpenGL Å velge funksjon returnerer alle objektene i en matrise sammen med hvor langt borte de er fra seerens beliggenhet.Dette gjør at et program raskt kan finne det nærmeste objektet om ønskelig.

En måte å visualisere OpenGL Plukking er å forestille seg en linje, noen ganger referert til som en stråle i 3D -programmering, og beveger seg fra plasseringen av musepekeren inn i scenen og vekk fra seerens beliggenhet.Hver gjenstand denne strålen berører blir lagt til en rekke objekter, sammen med hvor langt borte det er fra betrakteren.Dette er en veldig enkel forklaring på hvordan en form for OpenGL plukkeverk.

En annen metode for objektplukking i OpenGL innebærer å finne et objekt etter farge, og det kan være betydelig raskere.Denne metoden gjengir scenen, men i stedet for å bruke belysning og tekstur på objektene, blir de i stedet gjengitt med en enkelt, enkel farge.Hvert objekt eller gruppe av objekter har sin egen distinkte farge.Scenen er bare gjengitt i minnet og ikke vises, så dette påvirker ikke det brukeren ser.I stedet for å lete etter 3D -kollisjoner mellom objekter, returneres fargen på musemarkøren i stedet, og den fargen vil korrelere med et spesifikt objekt.