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ň
|
Zaslal: 20. srpen 2008, 16:58:08 Předmět: Stencil shadows |
|
|
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 |
|
|
johnnash
Založen: 30. 07. 2007 Příspěvky: 80
|
Zaslal: 20. srpen 2008, 18:47:08 Předmět: |
|
|
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 |
|
|
Augi
Založen: 28. 07. 2007 Příspěvky: 782 Bydliště: Čerčany
|
Zaslal: 20. srpen 2008, 19:03:04 Předmět: |
|
|
Také CC shadow volumes možná stojí za přečtení... |
|
Návrat nahoru |
|
|
]semo[
Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 21. srpen 2008, 12:31:55 Předmět: |
|
|
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 |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 21. srpen 2008, 13:43:40 Předmět: |
|
|
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... _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 21. srpen 2008, 22:41:22 Předmět: |
|
|
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 |
|
|
Vilem Otte
Založen: 18. 09. 2007 Příspěvky: 462 Bydliště: Znojmo - Sedlesovice, Kravi Hora
|
Zaslal: 21. srpen 2008, 23:25:10 Předmět: |
|
|
#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 |
|
|
Marek
Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 22. srpen 2008, 00:55:31 Předmět: |
|
|
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 |
|
|
|