.[ ČeskéHry.cz ].
Deffered rendering/shading

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Khaj



Založen: 16. 01. 2008
Příspěvky: 49

PříspěvekZaslal: 5. duben 2008, 13:48:54    Předmět: Deffered rendering/shading Odpovědět s citátem

Tak jsem ucinil prvni krucky k memu vysnenemu enginu. Prozatim jsem si zkusil implementovat metodu deffered shadingu popsanou mimo jine napriklad zde-> http://www.talula.demon.co.uk/DeferredShading.pdf.

K memu velikemu zdeseni se pri renderingu za nasledujicich podminek:
1 svetlo 1 model 600 trojuhelniku (vertex & index buffer v pameti fraficky karty) s cullingem & depth testem, 60Hz monitor, Maximalni pocet rendertargetu=1, vs&ps verze 2.0, bez stinovani, bez bumpmappingu, bez offset mappingu, bez klobouku bos...

Stalo toto:
bez tehle metody - 60 FPS
s deffered renderingem - 13 FPS

Samozrejme jsem cekal, ze sila teto metody se projevi az pri vetsim mnozstvi svetel a modelu, jelikoz jeji narocnost je pocet svetel + pocet modelu a ne pocet svetel*pocet modelu, ale ze to pujde takhle dolu pro 1 model to jsem necekal....

A ptam se - ma smysl vubec dale opimalizovat (par veci by tam bylo, ale ty by se projevily az pro vice modelu) a koupit novou grafickou kartu kvuli podpore vice render targets (aby se normaly a barva nemusely kreslit zvlast) anebo se mam na tuhle metodu vykaslat ... ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 5. duben 2008, 15:00:48    Předmět: Odpovědět s citátem

Je možné, že děláš něco špatně. Popiš svůj hw, konfiguraci render targets, zda používáš AA, jak řešíš to osvětlení apod. Deferred shading je hodně náročný na sběrnici grafiky a téměř nevyužívá vertexové procesory. Mně osobně to jede celkem pěkně.

Jinak nečekej od toho moc, ono se to stejně zas tak moc nepoužívá.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Khaj



Založen: 16. 01. 2008
Příspěvky: 49

PříspěvekZaslal: 5. duben 2008, 17:32:36    Předmět: Detailněji Odpovědět s citátem

Dělám v Borland TurboC++ s DirectX verze 9.0 na WindowsXP sp3.
AA nepouzivam.
O moji graficke karte vypovidaji moje caps:


Nejprve vyrenderuju normaly a barvy do dvou textur a pak osvetluju kazdym svetlem s pricitacim blendingem do backbufferu.
Nejvic to asi brzdi to ze moje karta maj jen jeden renderterget a tedy kreslim dvakrat...

Tohle je strucnejsi ukazka kodu renderujiciho (je nemozny poslat ho uplne celej jelikoz to mam vsechno obaleny tolika tridama ze by se vtom nikdo nevyznal)
Hlavni je funkce TEngine::Draw(), ostatni tam jsou pro lepsi predstavu jak co kreslim. Shadery jsou na konci (kompilovany pro verze 2.0 ).

http://nopaste.ceske-hry.cz/1527

Edit: thx Mem.


Naposledy upravil Khaj dne 5. duben 2008, 18:52:11, celkově upraveno 1 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 5. duben 2008, 18:19:15    Předmět: Odpovědět s citátem

OT: mame tady tag CODE, a pro takhle velke kusy zdrojaku krasny http://nopaste.ceske-hry.cz, ktery ti ten kod i obarvi, tak to tam byt tebou dam a do prispevku jen link
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 5. duben 2008, 19:12:07    Předmět: Odpovědět s citátem

Mně se na tom kódu třeba nelíbí, jak je to odsazený. Wink A nemyslím si, že mám velkej zájem to v této formě studovat. Caps jsou mi k ničemu, mohls prostě napsat GF FX, to by mi úplně stačilo (za předpokladu, že jsem to tipnul správně). V následujícím textu budu předpokládat, že je to opravdu GF FX.

Teď otázka, zda je to FX 5200-5600 nebo FX 5700-5950. V prvním případě tě musím zklamat, má to strašně pomalé shader jednotky, 5200 myslím dokonce neumí ani PS2.0 a emuluje to přes PS1.3 nebo tak něco. V druhém případě je to lepší ale furt je to na pytel, FX řada se nepovedla prostě. Pro dosažení vyššího výkonu se používaly lookup textury, kde jsi měl nějaké předpočítané data. Místo funkce normalize se používala normalization cube mapa, kde jsi dosadit normálu jako koordináty a ono ti ji vrátilo normalizovanou, na funkce pow a sqrt se taky používaly lookup textury (tabulky). Takhle se to muselo kdysi dělat i na GF1-4 a na Radeonech 7000-9250. Nicméně s příchodem Radeonu 9500 a GF6 platí, že používat lookup tabulky zpomaluje, zatěžuje to sběrnici a shader procesory to dokáží spočítat mnohem mnohem rychleji (nedávno jsem ze svého efektu odstranil jednu opravdu malou lookup texturu, nahradil to výpočtem v pixel shaderu a na ATI X1700 se to zrychlilo o 30%).

A teď mi určitě povíš, že to GF FX není a já tady budu za vola. Wink
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Khaj



Založen: 16. 01. 2008
Příspěvky: 49

PříspěvekZaslal: 5. duben 2008, 20:04:06    Předmět: Odpovědět s citátem

Promin - jediny clovek co je za vola jsem ja ze to predkladam v takovehle forme (pouceni pro priste) kdyz stacilo napsat jen typ grafarny Embarassed (ale zato nemuzes rict ze bych poskytl malo informaci Very Happy ).

Tipnul jsi spravne - mam GeFroce FX 5200 ...
takze proste koupit novou grafarnu a doufat ze ti co budou v budoucnu hrat hry mnou vyrobene ji nebudou mit takhle zastaralou Very Happy

Diky moc za odpoved a za trpelivost se mnou Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna