Leírás

3D grafikával kapcsolatos bejegyzések és cikkek. A Quadron Virtual Particle nevű game engine fejlesztése.

Stuff

Anything related to game development.

Contact: darthasylum at gmail dot com

Nemlineáris cikkek

Mi ezeknek a célja?

Leginkább az, hogy magyarul is elérhető legyen programozási anyag, olvasmányos formában.

A cikkek kódja GitHub-ról is elérhető. (*)-al jelölöm azt a cikket ami nemrégiben frissült.

A színek a nehézséget próbálják jelezni, de az, hogy egy cikk piros nem azt jelenti, hogy csak a profiknak szól!

 

 

 

 

 

 

 

 

Hörcsög

The Asylum

3D grafikával kapcsolatos bejegyzések és cikkek. A Quadron Virtual Particle nevű game engine fejlesztése.

Friss topikok

Címkék

HTML

Deferred rendering az engine-ben

2013.09.14. 19:54 | darthasylum | Szólj hozzá!

Az elmúlt néhány hónapban a forward és deferred rendering integrálásával foglalkoztam, az engine így most három különböző pipeline-t tud:

  • custom: ami eddig volt, minden objektum a saját materialjával rajzolódik
  • forward: multipass lighting, minden aminek nincs saját effektje az engine-el rajzolódik és minden fény hat rá ami a közelében van
  • deferred: ugyanez, deferred lighting-al

Ez egy elég hosszadalmas iteratív folyamat volt, mivel a lehető legkisebb memóriafoglalással kellett megoldani, hogy a fények tudják a közelükben levő objektumokat (árnyék miatt), illetve az objektumok is tudják a rájuk ható fényeket (átlátszóak miatt). Ezeket a bejegyzéseket ráadásul több szempont szerint is rendezni kell:

  • átlátszó objektumokat z szerint
  • minden mást shader szerint

A megjelenítő shaderek több shader kombinációjából állhatnak össze a fény típusa szerint (directional, point, spot), a normálok kiszámítása szerint (normal mapping), illetve az árnyék típusa szerint (pcf, variance). Ez így igen gáz, a következő feladatok közé tartozik a shader nyelvet úgy bővíteni, hogy könnyen lehessen kvázi-übershadert írni.

Megjegyezném, hogy a shadereknek óriási overheadje van iPad-en (eleve árnyék nélkül és csak a forward rendererrel), és az optimalizálás sem nagyon segít.

quadron8.jpg

Természetesen számítani lehet majd valamikor demóra, de ez a shader nyelv bővítés valószínűleg soká tart majd. Amint a fenti képen is látható, a Doom 3 modelleket most már majdhogynem tökéletesen jeleníti meg az engine, a kontrasztvesztés a gamma korrekció miatt van (ugyanis a Doom 3 egyáltalán nem használja).

A demó desktopon ~400 fps, iPad 2-n viszont csak 15... Amíg nincs kész a teljes implementáció, addig a mobil optimalizációt félrerakom.

A Doom 3 modellek megjelenítéséről, illetve a lighting konkrét megvalósításáról fogok írni cikket.

A bejegyzés trackback címe:

https://darthasylum.blog.hu/api/trackback/id/tr485513709

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása