Skip to main content

Wat is OpenGL reg;Plukken?

OpenGL reg;Het kiezen van computerprogrammering is het proces van het bepalen van welk object binnen een driedimensionale (3D) scene zich op een bepaald punt op het scherm bevindt zodra de scène is weergegeven.Het kan ook verwijzen naar het vinden van meerdere objecten op een punt of in een doos.Meestal, OpenGL reg;Picking wordt gebruikt om te bepalen welk 3D -object op het scherm een gebruiker probeert te selecteren met een muiscursor.Hoewel deze bewerking eenvoudig lijkt te zijn, zijn er verschillende subtiliteiten in hoe OpenGL geeft een scène die het redelijk complex kan maken.Bovendien zijn er intrinsieke glitches in bepaalde grafische kaarten en stuurprogramma's die de OpenGL Reg kunnen veroorzaken;Kiesfunctie om te falen en valse resultaten te retourneren.

Wanneer een gebruiker naar een 3D -scène op een computermonitor kijkt, staat de resulterende afbeelding bekend als een weergave van de scène.De scène wordt eigenlijk in het geheugen opgeslagen als een verzameling primitieve vormen of polygonen, die zelf slechts collecties van 3D -punten zijn in de ruimte van de scène.De computer maakt gebruik van wereldcoördinaten, die soms absolute coördinaten worden genoemd, om de meeste basale functies uit te voeren die objecten in de scène manipuleren.In de meeste toepassingen is de gebruiker in staat om de weergave van de scène naar verschillende hoeken te manoeuvreren, zodat objecten in verschillende perspectieven kunnen worden gezien.De virtuele locatie van de gebruiker in de scène wordt de camerahoek of camerapositie genoemd.

de complexiteit van OpenGL reg;Kies komt van het bepalen van de locatie van de muis op het tweedimensionale (2D) scherm vanuit een mogelijk willekeurige positie en hoek in de scène, de camerapositie.Omdat de weergave vanuit het perspectief van de menselijke kijker echt 2D is, is er bovendien geen manier voor de gebruiker om de diepte van de muisklik in de scène te geven.De opengl reg;Het kiezen van functie lost dit complexe probleem op twee manieren op.

De eerste is dat, in plaats van een reeks afzonderlijke berekeningen uit te voeren om te vertalen waar de kijker abstract is en vervolgens een object in het renderingvenster vindt, de functie de scène daadwerkelijk weergeeft zoals hetWanneer normaal werkt, met uitzondering dat de weergave die wordt gebruikt voor selectie niet wordt weergegeven, wordt deze alleen gebruikt om de juiste posities van objecten te berekenen.Het verschil is dat, in plaats van het hele gebied dat zichtbaar zou zijn voor de gebruiker, alleen het gebied waar de muis zich bevindt, alleen weergeeft.Dit betekent dat alle geleverde objecten technisch gezien zijn op het punt waar de muisaanwijzer zich bevindt.

Het tweede probleem, namelijk geen manier om de diepte van een geselecteerde gebied aan te geven, wordt opgelost door alle objecten te retourneren die onder de muiscoördinaten in detafereel.De opengl reg;Het plukken van de functie retourneert alle objecten in een array, samen met hoe ver weg ze zijn van de locatie van de kijker.Hierdoor kan een programma indien gewenst snel het dichtstbijzijnde object vinden.

Eén manier om OpenGL Reg te visualiseren;Kies is om je een lijn voor te stellen, ook wel een straal in 3D -programmering genoemd, die van de locatie van de muisaanwijzer naar de scène en weg van de locatie van de kijker gaan.Elk object dat deze straal aanraakt, wordt toegevoegd aan een reeks objecten, samen met hoe ver weg het is van de kijker.Dit is een zeer eenvoudige uitleg over hoe een vorm van opengl reg;werken werken.

Een andere methode om object te kiezen in OpenGL reg;omvat het vinden van een object op kleur, en het kan aanzienlijk sneller zijn.Deze methode maakt de scène weer, maar in plaats van verlichting en textuur toe te passen op de objecten, worden ze in plaats daarvan weergegeven met een enkele, eenvoudige kleur.Elk object of groep objecten heeft zijn eigen afzonderlijke kleur.De scène wordt alleen in het geheugen weergegeven en niet weergegeven, dus dit heeft geen invloed op wat de gebruiker ziet.In plaats van te zoeken naar 3D -botsingen tussen objecten, wordt de kleur op de positie van de muiscursor in plaats daarvan geretourneerd en die kleur zal correleren met een specifiek object.