Co je výběr OpenGL®?

Sběr OpenGL® v počítačovém programování je proces určování toho, jaký objekt v rámci trojrozměrné (3D) scény je umístěn v daném bodě na obrazovce, jakmile je scéna vykreslena. Může také odkazovat na lokalizaci více objektů v bodě nebo uvnitř krabice. Nejčastěji se sběr OpenGL® používá k určení, jaký 3D objekt na obrazovce se uživatel pokouší vybrat pomocí kurzoru myši. I když se tato operace může jevit jako jednoduchá, existuje několik jemností v tom, jak OpenGL® vykresluje scénu, která může být docela složitá. Navíc existují vnitřní závady v určitých grafických kartách a ovladačích, které mohou způsobit selhání funkce výběru OpenGL® a vrátit falešné výsledky.

Když se uživatel dívá na 3D scénu na monitoru počítače, výsledný obrázek je známý jako vykreslování scény. Scéna je ve skutečnosti uložena v paměti jako sbírka primitivních tvarů nebo polygonů, což samy o sobě jsou jen sbírky 3D bodů v prostoruscéna. Počítač používá světové souřadnice, které se někdy nazývají absolutní souřadnice, k provádění většiny základních funkcí, které manipulují s objekty ve scéně. Ve většině aplikací je uživatel schopen manévrovat pohled na scénu do různých úhlů, takže objekty lze vidět v různých perspektivách. Virtuální umístění uživatele ve scéně se nazývá úhel kamery nebo poloha kamery.

Složitost výběru OpenGL® pochází z určení umístění myši na dvourozměrné (2D) obrazovce z možná libovolné polohy a úhlu uvnitř scény, polohy kamery. Navíc, protože vykreslování z pohledu lidského diváka je opravdu 2D, neexistuje způsob, jak uživatel poskytnout hloubku kliknutí myši uvnitř scény. Funkce výběru OpenGL® řeší tento složitý problém dvěma způsoby.

První je, že místo PERVytváření řady samostatných výpočtů pro překlad, kde je divák abstraktně, a poté najde objekt v okně vykreslování, funkce skutečně vykresluje scénu jako při normálním fungování, s výjimkou, že vykreslování použité pro výběr není zobrazeno pouze pro výpočet správných poloh objektů. Rozdíl je v tom, že místo vykreslování celé oblasti, která by byla viditelná pro uživatele, činí pouze oblast, kde je myš umístěna. To znamená, že jakékoli vykreslené objekty jsou technicky v bodě, kde je umístěn ukazatel myši.

Druhý problém, a to, že nemá žádný způsob, jak označit hloubku vybrané oblasti, je vyřešen vrácením všech objektů, které jsou pod souřadnicemi myši ve scéně. Funkce výběru OpenGL® vrací všechny objekty v poli spolu s tím, jak daleko jsou od umístění diváka. To umožňuje programu rychle najít nejbližší objekt v případě potřeby.

Jeden způsob vizualizace OSběr Pengl® je představit si linii, někdy označovanou jako paprsek ve 3D programování, přesunout se z umístění ukazatele myši do scény a daleko od polohy diváka. Každý objekt, který se tento paprsek dotkne, je přidán do řady objektů, spolu s tím, jak daleko je od diváka. Toto je velmi jednoduché vysvětlení toho, jak jedna forma sběru OpenGL® funguje.

Další metoda výběru objektů v OpenGL® zahrnuje vyhledání objektu podle barvy a může být výrazně rychlejší. Tato metoda vykresluje scénu, ale místo použití osvětlení a textury na objekty jsou místo toho vykresleny jedinou jednoduchou barvou. Každý objekt nebo skupina objektů má svou vlastní zřetelnou barvu. Scéna je vykreslena pouze v paměti a není zobrazena, takže to neovlivňuje to, co uživatel vidí. Místo hledání 3D kolizí mezi objekty se místo toho vrátí barva v poloze kurzoru myši a tato barva bude korelovat s konkrétním objektem.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?