Skip to main content

Co je OpenGL REG;Stín?

Open Graphics Library (Opengl ) Stín je vizuální aproximace v trojrozměrném (3D) OpenGL REG;Scéna toho, jak by byl stín obsazen v reálném životě za podobných podmínek osvětlení.Stíny jsou komplexní vizuální vlastnost, která se má implementovat v OpenGL REG;, hlavně proto, že ve scéně neexistuje vrozená podpora pro lití stínů.Místo toho existuje celá řada technik, které lze použít k vytváření stínů z objektů a geometrie v scéně pomocí různých nástrojů, jako jsou různé dostupné dostupné vyrovnávací paměti, shadery a v některých případech rozšíření, která umožňují přístup ke speciálním funkcím na určité graficeKarty.Ve většině případů kvalita, přesnost a rychlost OpenGL REG;Stínové vykreslování přímo souvisí s výkonem zpracování a paměti přítomného grafického hardwaru v počítači nebo zařízení.Některé z populárnějších metod implementace OpenGL REG;Stín zahrnuje stínové svazky, mapování stínů a trasování paprsků.

Vytvoření aplikace, která má OpenGL Podpora stínu vyžaduje matematické znalosti a hluboké pochopení toho, jak OpenGL REG;funguje.Opengl se z velké části používá k vytvoření 3D scén, které jsou dynamické a vykreslené v reálném čase, takže algoritmy, které se používají k vytváření stínůzpůsobené grafickým potrubí používaným pro vykreslování.Z těchto důvodů je nejzákladnější metoda vytváření stínu, nazvaného Ray Tracing, často nepraktická pro plné 3D scény, protože to může trvat velmi dlouho.Rovina nebo poloha kamery přes scénu na povrch objektu a poté vypočítá barvu povrchu na základě polohy jednoho nebo více světelných zdrojů a dalších faktorů.Během procesu rasterizace, kde je 3D scéna přitahována na dvourozměrný (2D) povrch, takže může být zobrazen, musí být proveden proces sledování paprsků na každém pixelu, který je nakreslen a zejména s texturami nebo jinýmPovrchové vlastnosti, možná bude muset několikrát posoudit stejné pixely.To znamená sledování paprsků v reálném čase, i když by to přesně vykreslilo stíny, obvykle není praktické.

Další metoda, kterou lze použít k vytvoření OpenGL REG;Stín je známý jako stínové mapování.Tato metoda používá hloubku nebo vyrovnávací paměť šablony k vykreslení scény z úhlu světelného zdroje jako řadu vzdáleností od zdroje světla po povrchy různých objektů uvnitř scény.Scéna je poté podruhé vykreslena ze správného úhlu pohledu a kontroluje, zda každý pixel spadá do určitého rozsahu vzdálenosti v vyrovnávací paměti, což ukazuje, zda je pixel osvětlen nebo stín.Použití stínového mapování může být náročné na paměť a se scénami, které mají více než jeden světelný zdroj, může zahrnovat výrobu více map z více úhlů.

Stínové svazky jsou způsob, jak vytvořit OpenGL REG;Stín, který je přesnější než některé jiné metody, ale představuje své vlastní problémy.Stínový svazek je v podstatě neviditelný kus geometrie ve scéně, která se rozšiřuje z osvětleného povrchu objektu od zdroje světla.Tento svazek lze zkontrolovat proti jiným objektům, aby se zjistilo, zda spadají do stínu povrchu, ze kterého vznikl objem.Tento postup může být velmi složitý a nakonec vytvářet vizuální artefakty, když je optimalizován pro rychlost.