Skip to main content

Hvad er OpenGL Pluk?

OpenGL At vælge computerprogrammering er processen med at bestemme, hvilket objekt inden for en tredimensionel (3D) scene, der er placeret på et givet tidspunkt på skærmen, når scenen er gengivet.Det kan også henvise til at finde flere objekter på et tidspunkt eller inde i en kasse.Oftest OpenGL Picking bruges til at bestemme, hvad 3D -objekt på skærmen, som en bruger forsøger at vælge med en musemarkør.Selvom denne operation muligvis ser ud til at være enkel, er der flere subtiliteter i, hvordan OpenGL gengiver en scene, der kan gøre det temmelig kompliceret.Derudover er der iboende fejl i visse grafikkort og drivere, der kan forårsage OpenGL Picking -funktion til at mislykkes og returnere falske resultater.

Når en bruger ser på en 3D -scene på en computerskærm, er det resulterende billede kendt som en gengivelse af scenen.Scenen gemmes faktisk i hukommelsen som en samling af primitive former eller polygoner, som i sig selv bare er samlinger af 3D -punkter inden for scenen.Computeren bruger verdenskoordinater, der undertiden kaldes absolutte koordinater, til at udføre de fleste basale funktioner, der manipulerer genstande i scenen.I de fleste applikationer er brugeren i stand til at manøvrere visningen af scenen til forskellige vinkler, så objekter kan ses i forskellige perspektiver.Brugerens virtuelle placering inden for scenen kaldes kameravinklen eller kamerapositionen.

Kompleksiteten af OpenGL Picking kommer fra at bestemme placeringen af musen på den to-dimensionelle (2D) skærm fra en muligvis vilkårlig position og vinkel i scenen, kamerapositionen.Fordi gengivelsen fra den menneskelige seers perspektiv virkelig er 2D, er der ingen måde for brugeren at give musens dybde klik inde i scenen.OpenGL Picking -funktion løser dette komplekse problem på to måder.

Den første er, at i stedet for at udføre en række separate beregninger for at oversætte, hvor seerGør, når det normalt fungerer, med undtagelse af, at gengivelsen, der bruges til udvælgelse, ikke vises, bruges det kun til at beregne de korrekte positioner af objekter.Forskellen er, at det i stedet for at gengive hele området, der ville være synlig for brugeren, kun gengiver det område, hvor musen er placeret.Dette betyder, at alle gengivne objekter er teknisk på det punkt, hvor musemarkøren er placeret.

Det andet problem, nemlig at have ingen måde at indikere dybden af et valgt område, løses ved at returnere alle genstande, der er under musekoordinaterne iscene.OpenGL Valg af funktion returnerer alle objekter i en matrix sammen med hvor langt væk de er fra seerens placering.Dette giver et program mulighed for hurtigt at finde det nærmeste objekt, hvis det ønskes.

En måde at visualisere OpenGL Picking er at forestille sig en linje, sommetider benævnt en stråle i 3D -programmering, der bevæger sig fra placeringen af musemarkøren ind i scenen og væk fra seerens placering.Hver genstand, denne stråle, berører til en række objekter sammen med hvor langt væk den er fra seeren.Dette er en meget enkel forklaring på, hvordan en form for OpenGL plukker.

En anden metode til objektplukning i OpenGL involverer lokalisering af et objekt efter farve, og det kan være betydeligt hurtigere.Denne metode gengiver scenen, men i stedet for at anvende belysning og tekstur på objekterne, gengives de i stedet med en enkelt, enkel farve.Hver objekt eller gruppe af objekter har sin egen forskellige farve.Scenen gengives kun i hukommelsen og vises ikke, så dette påvirker ikke, hvad brugeren ser.I stedet for at lede efter 3D -kollisioner mellem genstande, returneres farven på musemarkørens position i stedet, og den farve korrelerer med et specifikt objekt.