.[ ČeskéHry.cz ].
Stencil shadows

 
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
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 20. srpen 2008, 16:58:08    Předmět: Stencil shadows Odpovědět s citátem

Buďte pozdraveni lidi, potřebuji poradit a myslím, že na to na co se zeptám určitě někdo odpověď zná...

Jde o to, že jsem přeci jenom ještě přemýšlel o cell shadingu... a právě k cell shadingu se hodí stencil stíny, kvůli jejich ostrosti... jak stencil stíny fungují a jak je implementovat, to vím...
Co však nevím, jestli se dají použít v rozsáhlejších světech a jaké jsou optimalizace těchto stínů...a jestli má cenu implentovat tyto stíny i na statické modely...

Pokud se to přeci jenom nevyplatí (ty stencil stíny) tak asi použiju klasický osvětlovací model a stíny jako nějaké černé blurované kruhy...

Díky za radu a sám ještě budu dělat nějaké testy, ale přeci jenom bych znal vaše zkušenosti se stencil stíny...
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
johnnash



Založen: 30. 07. 2007
Příspěvky: 80

PříspěvekZaslal: 20. srpen 2008, 18:47:08    Předmět: Odpovědět s citátem

Na dynamicke stiny bych pouzil Hybrid Shadow Rendering Algorithm(http://people.csail.mit.edu/ericchan/papers/smapSV/).
Pro staticke objekty bych zkusil normalne predpocitane shadow mapy(v nejakem rozumnem rozliseni).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 20. srpen 2008, 19:03:04    Předmět: Odpovědět s citátem

Také CC shadow volumes možná stojí za přečtení...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 21. srpen 2008, 12:31:55    Předmět: Odpovědět s citátem

Stencilový stíny jsou uplně super, dobře, trochu možná zastaralejší, ale jsou případy, kdy se hodí je implementovat (kvalita za rozumnou cenu). A to je VODO tvůj případ. Jsou vhodný právě na rozsáhlý scény, kde navíc vyžaduješ ostrost (nebo ti přinejmenším nevadí). Třeba když vidíš objekty z větší dálky, tak ostrost nevadí.
Optimalizace: jsou ZPass stencil stíny ZFail stíny (najdi si kdyžtak). Jedny jsou pomalejší (tuším ZFail), ale nutný při protínání ViewFrustum se stínovým tělesem. Pokud tam to protínání budeš mít, je dobré implementovat obě metody a vhodným způsobem to přepínat. To je taková jakási optimalizace.

V Aquadelic pro becher game jsem použil jednoduchý stencil stíny a to pouze pro statický objekty. Stínový tělesa jsem generoval maxscriptem (jsou tam vhodný metody na nalezení siluety, ...) a exportoval je jako obyč. objekt (daly se přímo v maxu optimalizovat..stíny můžeš házet z objektu s menším detailem). Takže použít stencil stíny pro statický objekty neni uplně špatný - žerou víceméně jen fillrate (+dají se krásně vypínat do dálky a podobně), ale lightmapy jsou samozřejmě lepší.

Shadowmapy mají spoustu "ALE" a rozhodně nevypadají dobře v rozlehlých scénách. Pokud nejsi velký mástr, nebo nemáš hoodně času. Ve finále jsou pak pomalejší, protože se tam musí vnášet hodně kompromisů a komplikuje to shadery.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 21. srpen 2008, 13:43:40    Předmět: Odpovědět s citátem

Díky Semo,
to s těmi předgenerovanými stínovými objekty jsi mi vlastně nejvíc poradil... dyť v maxu si krásně mohu stínové těleso zkorigovat (pro statické objekty) - pro každou denní dobu jedno stínové těleso...

A díky Augi, jen mi to potvrdilo nějaká moje studia pro optimalizaci...(jako že třeba stín nemusí vrhat objekt, který je celý ve stínu...)

O stencil stínech jsem začal uvažovat hlavně kvůli tomu, že cell shading přechody jsou ostré a shadow mapy by to kazily...

Uvidíme, jak jsem řekl, trochu s tím experimentuji... Very Happy
_________________
Opravdovost se pojí s trýzní...
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: 21. srpen 2008, 22:41:22    Předmět: Odpovědět s citátem

Taky doporučuju pro ostré stíny stencil. Jejich implementaci jsem se nevěnoval, ovšem doslechl jsem se, že pro vyplnění stencilu v jednom průchodu je dobrý použít two-sided stencil (od GL2 a D3D9).

Ovšem s shadow mapama jdou ostré stíny taky. Variance Shadow Mapping dělá stíny velmi pěkně spojité, jednoduchou boolean operací (intensity>0.5) uděláš krásně ostré stíny a nebude to trpět hranatostí kvůli low-poly modelům ani kvůli rozlišení shadow mapy, budou krásně zaoblené (čím nižší rozlišení shadow mapy, tím oblejší, takže to ještě zvyšuje rychlost). Ovšem VSM má další problémy, díky kterým může být 100% bezchybná implementace netriviální.
_________________
AMD Open Source Graphics Driver Developer
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: 21. srpen 2008, 23:25:10    Předmět: Odpovědět s citátem

#Eosie - nechci tady začít debatu o tom, jak řešit problémy VSM, ale přece...

Největším problémem VSM je numerická nestabilita rozptylu (tj. min(max(E_x^2 - Ex^2, 0.0), 1.0) ) při nízkém (vyjmečně i příliš vysokém) mí (rozdíl mezi vzdálenosti od světla a hloubkou stínové mapy). To se dá řešit velmi jednoduchým řešením (tzv. darkeningem) - tímto řešením se ovšem ztrácí měkkost stínů (nikoliv však oblost) a také artefakty VSM.
Takže VODO pokud chceš vyrobit pěkné ostré a oblé stíny - zkus VSM + darkening a výsledek je:
1.) Rychlý
2.) Velmi slušně vypadá
3.) Narozdíl od Stencil Shadow Volumes nezávislý na complexitě scény

Pokud chceš reálné měkké plausibní stíny - tak to můžu říci jediné - "bůh s tebou" - protože to je skoro nemožné na výrobu s rasterizací tak, aby to slušně běhalo.

Jinak ukázka mírně darkenovaných variance shadow maps:

_________________
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: 22. srpen 2008, 00:55:31    Předmět: Odpovědět s citátem

Pro více informací o VSM, v GPU Gems 3 je o tom dobrej článek (někde se mi tu válí...).
_________________
AMD Open Source Graphics Driver Developer
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