.[ ČeskéHry.cz ].
KD-tree mono-tracer
Jdi na stránku Předchozí  1, 2
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Ostatní
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 11. duben 2011, 21:08:56    Předmět: Odpovědět s citátem

citace:
Pokud hodláš podporovat tady tento Radeon, tak bych doporučil být hodně opatrný. Ani blbý pole tam neuděláš, pokud indexy do toho pole nejsou konstanty.

No vzhledem k tomu, že plánuju podporu až karet s podporou OpenCL, tak asi ne. Přece jenom by to znamenalo dělat pro tento typ karty úplně jiný traversal (protože pro pre-G80/R600 karty je lepší stack-less, a pro novější klasický stack-based), což znamená psát něco vícekrát - a udržovat ještě více render-paths (už tak CPU a GPU render path stačí, i to je dost).

EDIT: Tak scéna pro demo je hotová, teď je třeba demo ještě připravit (to chvilku potrvá ... ale na GPU asi ještě nebude, půjde zase jen o test). Ale bude mít trošku masivnější scénu (několik set tisíc verts, několik set tisíc faců)... co jsem testoval, tak se hýbe dobře (je interaktivní na Core i3, na které testuju).

Ad loading time - tady se teprve osvědčuje dobrý O(N log N) KD-Tree, načtení scény trvá cca stejně dlouho jako kompilace KD-Tree (což je jen dobře) ... a to je SAH-based, ještě dochází k linearizaci v paměti (levý child je *list + 1, druhý odkázaný pointerem). To drasticky zrychluje traversal (a ten pak běhá prakticky bez cache-misses Razz a jde to poznat).
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 13. duben 2011, 01:31:18    Předmět: Odpovědět s citátem

Mala ukazka jednoho trosku vice massive setu (zajimave ze zakladne mam na Core i3 cca 2 MRays/s per core, a s timto radove komplexnejsim modelem cca 1.2 MRays/s per core (coz dokazuje, ze v pripade massive setu by byl tento ray tracer radove rychlejsi nez rasterizer pri renderingu).

Prozatim si stale pokracuji v OpenCL (na Core i3 mam nejakych 32 GFlops, na HD 6950, ktery planuju poridit na testovani, jich je pres 2700 GFlops, samozrejme neco umre na pameti a cache (neni cache line jako cache line, a alignment na GPU neni alignment na CPU, etc.), ale pokud bych z ni vytriskal alespon 4x takovy vykon jako z i3 - tak jsem velmi spokojeny (ale afaik z ni dostanu mnohem vice).

Eye candy image time:






Samozrejme zkonvergovano behem 2, 3 sekund (uz se tesim jak se to povede s GPU, tam by to mohlo silne zavanet high-quality realtime path tracingem). Na i3 celkem slusny cas (na vetsich bestiich jsem zatim nemel cas testovat).

EDIT: Teoreticky v pripade sikovneho rendereru by bylo mozne pouzit tracer pouze na stiny, a/nebo odrazy a/nebo lomy, etc. - coz by mohlo byt take prakticke ... dokud tedy nebudeme mit doma 4 x 12-core CPU kazdy Laughing
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
Marek



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

PříspěvekZaslal: 13. duben 2011, 01:54:57    Předmět: Odpovědět s citátem

Škoda, že to umí jen flat-shading.

A ten aliasing, bleeee. Razz
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1051

PříspěvekZaslal: 13. duben 2011, 08:05:00    Předmět: Odpovědět s citátem

vilem poznas LuxRender? ten typek co to porgramuje dosiahol minule s 3x radeon 5870 cez 100MRays/s v komplexnom pathtracery ktory rata prakticky normalne pouzitelny osvetlovaci model.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 13. duben 2011, 11:00:33    Předmět: Odpovědět s citátem

citace:
Škoda, že to umí jen flat-shading.

Ono to umí i smooth-shading, jenom já jsem líný správně (správně = na daném bodě sesumovat normály) spočítat vertex normály při načítání Laughing

Výpočet normály na daném bodě se bere ze všech tří bodů a mixuje se na základě barycentrických koordinátů (tedy standardní výpočet normály na pixelu v závislosti na vertex normals.

citace:
A ten aliasing, bleeee. Razz

Neboj, oversampling se přidá (ono to jde celkem přirozeně přes temporal antialiasing, navíc jednoduše).

citace:
vilem poznas LuxRender? ten typek co to porgramuje dosiahol minule s 3x radeon 5870 cez 100MRays/s v komplexnom pathtracery ktory rata prakticky normalne pouzitelny osvetlovaci model.

Mám i Cornell-box path-traced při 80 MRays/s na HD 5470 (napsáno v GLSL), GLSL odvedlo o dost lepší práci při kompilaci v optimalizacích algoritmu než OpenCL. Na Ompf.org jsme o tom dost filozofovali s toxiem, a prozatím asi skutečně GLSL shader je rychlejší (o dost), než OpenCL.
Nicméně nelze srovnávat, protože pokud trošku do ray tracerů vidíte - zjistíte, že samotné je nelze nikdy navzájem srovnávat.

LuxRender znám, ten se však soustředí na kvalitu, já momentálně na rychlost (a na ni se také plánuji soustředit v budoucnu).

EDIT: Pro Eosieho, s temporal antialiasingem:



_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Ostatní Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
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