polopate-rendering-3d-sceny-a-jak-to-priblizne-funguje
Hardware Článek Polopatě - rendering 3D scény (a jak to přibližně funguje)

Polopatě - rendering 3D scény (a jak to přibližně funguje) | Kapitola 6

Kwolek Jirka

Kwolek Jirka

30. 4. 2007 01:00 41

Seznam kapitol

1. 3D zobrazení nejsou žádná kouzla 2. (VS) Vertex Shader Stage 3. (GS) Geometry Shader Stage 4. Rasterizer Stage 5. (PS) Pixel-Shader Stage 6. (OM) Output-Merger Stage

Pokud Vám z Geometry, Pixel, Vertex shaderů, textur a jednotek ROP jde hlava kolem, nezoufejte, v následujícím bloku se pokusím (s pomocí jednoho automobilového příkladu) přiblížit, jak funguje moderní grafická karta (navíc DirectX 10).

Reklama
Reklama

I když to tak nevypadá, ale finální barva pixelu se určuje teprve v tomto stádiu - Pixel Shadery totiž generují pouze fragmenty obrazu tak, jak postupně zpracovávají jednotlivé elementární části obrazu. Pro pixel o určité souřadnici (například 250x320) můžeme mít hned několik různých hodnot barvy.

 Output Merger tyto hodnoty vyhodnotí a pole výsledku s nimi naloží. Provádí se zde:

  • Depth-Stencil Testing,
  • a Blending.

Přes dřívější kontroly nelze vyloučit, že Pixel Shadery nespočítaly barvu pixelu nějaké plošky, který ve výsledku na obraze nebude vůbec vidět.

Ba naopak, taková situace je docela běžná - představte si například postavu vojáka na pozadí velké textury cihlové zdi s aplikovaným efektem mapování struktury povrchu. Všechny pixely za postavou vojáka se ve výsledku nesní vůbec objevit. Za tímto účelem se často provádí Depth-Stencil Test, který má za úkol určit, jestli daný pixel bude nebo nebude vykreslen. Pokud je zkoumaný pixel blíže než jiné pixely, pak se vykreslí (a ty za ním se přepíšou), v opačném případě se pixel zahodí. Hodnota aktuální "hloubky" pixelů je zanášena do Stencil Bufferu.

Blending - zamíchat ale netřepat (jak by řekl 007 James Bond). Míchaní barev (pokud je systémem požadováno) spojuje barvy několika pixelů do barvy jediné. Typickou aplikací jsou poloprůhledné textury například plamenů, kouře, skla, odrazů, aplikace stínů... Abychom ve výsledku dostali:

Polopatě - rendering 3D scény (a jak to přibližně funguje)

Polopatě - rendering 3D scény (a jak to přibližně funguje)

Co jste se dnes naučili?

... to jistě nevím, ale mám za to (pokud jste četli pozorně), že toto schéma renderovací 3D pipeline DirectX 10 Vám už žádnou hrůza nahánět nebude.

Polopatě - rendering 3D scény (a jak to přibližně funguje)

P.S. Doufám, že Vám tento článek bude k užitku...

Předchozí
Další
Reklama
Reklama
Reklama
Reklama

Byl detekován AdBlock

Pctuning je komunitní web, jehož hlavním příjmem je reklama. Zvažte prosím vypnutí AdBlocku, ať můžeme všem čtenářům i nadále přinášet kvalitní herní zpravodajství, články a videa.

Děkujeme

Váš tým Pctuning