.[ ČeskéHry.cz ].
Velky teren a stiny
Jdi na stránku 1, 2  Další
 
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
pospa



Založen: 22. 05. 2010
Příspěvky: 44

PříspěvekZaslal: 22. květen 2010, 22:17:25    Předmět: Velky teren a stiny Odpovědět s citátem

Zdar lidi.. narazil jsem na problem, ktery se mi nedari vyresit a uz nevim co kde hledat a co zkouset. Jde mi o to, ze mam vygenerovany teren na zaklade height mapy a na nem objekty. Je to jakoby strategie, psane v XNA. Rad bych mel nekde nad terenem jeden zdroj svetla (slunce), ktery by zapricinil vrhani stinu vsech objektu. Jedine co trochu chapu je shadow mapping. Nejradsi bych mel stiny ostre, ale to bych asi i klidne ozelel. Nejvetsi problem ale vznika u objektu samotnych, ktere vrhaji stiny sami na sebe - napr. striska pred vchodem do domu nebo zabradli na terase apod. Stiny se proste spatne pocitaji a neodpovidaji realite. Problem je asi v tom, ze svetlo je moc daleko od terenu a pak ty rozdily ve vzdalenostech jednotlivych pixelu jsou velmi male. Ale jak to vyresit? Dikes..
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: 22. květen 2010, 23:34:33    Předmět: Odpovědět s citátem

Těch důvodů pro špatnou kvalitu stínů tvořených pomocí shadow mappingu může být více. Ukaž screenshoty a naznač, jak přesně ty stíny počítáš.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
pospa



Založen: 22. 05. 2010
Příspěvky: 44

PříspěvekZaslal: 23. květen 2010, 15:38:06    Předmět: Odpovědět s citátem

Pouzivam pocitani stinu odsud:

http://xnacommunity.codeplex.com/wikipage?title=SSSM&referringTitle=Home&ProjectName=xnacommunity

probiha to vypocitanim shadow mapy do formatu single, v dalsim kroku se vypocita intenzita osvetleni a nakonec final.

zde je videt ono spatne nasviceni "pod striskou"
http://www.pospa.info/temp/xna/shad/shad2.jpg

a zde zvlneny stin, coz je dalsi spatna vec, co me stve
http://www.pospa.info/temp/xna/shad/shad1.jpg
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: 23. květen 2010, 16:44:01    Předmět: Odpovědět s citátem

No to je docela zvláštní postup. Spíš se to dělává tak, že se nejprve vyrenderuje shadow mapa a pak se už renderuje normálně scéna, přičemž se v shaderech zároveň vyhodnocuje zastínění pomocí stínové mapy.

Ta první chyba je nejspíše způsobena nevhodným nastavením parametrů depthBias a/nebo MaxDepth - zkus sis s nimi pohrát (hlavně s tím biasem - typicky změna z 0.001 na 0.002 znamená velký vizuální rozdíl).

Ta druhá chyba může mít více příčin. Zkus zvýšit rozlišení stínové mapy, jestli se to zlepší. Pokud ano, tak to bude chtít pravděpodobně aplikovat nějakou parametrizaci stínové mapy. Jinými slovy - pokud děláš teď stínovou mapu tak, aby zabírala celý terén, tak to musíš změnit tak, aby zabírala jen tu část terénu, která je relevantní pro aktuální pohled kamery. To není moc jednoduché a řeší to třeba Perspective Shadow Maps.

Ale ten odkazovaný kód vypadá dost divně - určitě zkus najít ještě nějaký jiný příklady - tenhle kód vypadá tak, že to někdo slepil z tutoriálů a pořádně nevěděl, co dělá...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
pospa



Založen: 22. 05. 2010
Příspěvky: 44

PříspěvekZaslal: 23. květen 2010, 18:00:24    Předmět: Odpovědět s citátem

Diky moc, ze se mi venujes.. souhlasim, ze to nekdo zpatlal tak jak rikas, pak to jeste patlam ja a pak to takhle vypada ;-/ Prave posledni obdobi vyzkumu jsem venoval tomu, ze jsem si hral s depthBias a maxDepth, ale nic kloudnyho jsem nevymyslel. Udelal jsem si na to klavesy, ktery mi menej hodnoty. Ono se to pak jeste taky lisi, kdyz treba dam svetlo do jednoho rohu v terenu a jeden objekt blizko a druhej daleko.

Co se tyce rozliseni stinovy mapy, tak to opravdu pomaha - na tech screenech jsem dal ukazku v nejnizsim rozliseni, aby to bylo patrny.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pospa



Založen: 22. 05. 2010
Příspěvky: 44

PříspěvekZaslal: 26. květen 2010, 10:01:15    Předmět: Odpovědět s citátem

Nasel jsem asi neco, o cem jsi mluvil (zabirani urcity casti sceny svetlem, na zaklade pohledu kamery).

Zhruba uprostred je kod pro celou tridu:
http://www.riemers.net/Forum/index.php?var=1509&var2=0

Zkousel jsem to podle toho, ale bohuzel vysledek je, ze mam scenu celou bilou a nemuzu prijit na to proc.. kdybys mel cas a chut, tak zde
http://www.pospa.info/temp/xna/shad/XNAseries3.zip
jsem nahral projekt, kterej je udelanej podle toho webu a trida Game je ta z diskuze.
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: 26. květen 2010, 11:29:43    Předmět: Odpovědět s citátem

Bohužel teď nemám čas se tomu věnovat, ale mají pravdu: Your aim should be to keep the view frustum of your light source as small as possible in order to get the best quality.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
pospa



Založen: 22. 05. 2010
Příspěvky: 44

PříspěvekZaslal: 26. květen 2010, 12:11:21    Předmět: Odpovědět s citátem

Jasny, neva. Zkusim se tim nejak prokousat, uz to resim pres mesic, tak nejakej cas navic me uz nezabije. Aspon ze jsem na spravny stope. Dik
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Manox



Založen: 30. 07. 2007
Příspěvky: 140
Bydliště: Brno

PříspěvekZaslal: 26. květen 2010, 12:33:45    Předmět: Odpovědět s citátem

Ahoj, stáhl jsem si ty zdrojáky a chvíli si hrál, nicméně taky na to nemám moc času. Ten kód je hodně nepřehledný a pak taky se mi zdá hodně amatérský a spousta věcí je tam řešena špatně (třeba textury pro modely přes globální proměnné,...). Zkoušel jsi nějaký tutoriál z XNA Creators ? Těm bych důvěřoval mnohem více a myslím, že tam nějaké stíny mají. Používám taky shadow mapy, ale mám to celé udělané jinak, takže nemůžu přímo poradit jak tohle upravit. Ale nezdá se mi na první pohled, že by byla správně vyplněná shadow mapa. A pak nevím, kde je zdroj světla, ale očividně se pohybuje při pohybu kamery. Pokud je svázán s kamerou, asi ani žádné stíny neuvidíš.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
pospa



Založen: 22. 05. 2010
Příspěvky: 44

PříspěvekZaslal: 26. květen 2010, 14:52:11    Předmět: Odpovědět s citátem

Pravda, amatersky to asi je.. To ja moc neresim, vezmu si z toho jen to dobry, pokud sam dokazu poznat co to je Wink
Hledal jsem ruzne po netu a zrovna na CreatorsXNA jsem nic podobnyho nenasel (coz neznamena, ze to tam neni..)
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: 26. květen 2010, 15:10:26    Předmět: Odpovědět s citátem

Btw. pohyb světla spolu s kamerou není nutně špatně.
Pokud se simuluje slunce pomocí ortogonálního promítání při vytváření stínové mapy (což je IMHO tazetelův případ, protože se to hodí na stínování rozlehlého terénu), tak nastavení fixní velikosti ortogonálního light-frustumu a jeho pohyb spolu s kamerou (+ natáčení) může vést ke kýženému výsledku (protože light frustum obsahuje jen relevantní část terénu).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Manox



Založen: 30. 07. 2007
Příspěvky: 140
Bydliště: Brno

PříspěvekZaslal: 26. květen 2010, 15:27:44    Předmět: Odpovědět s citátem

Na to jsem nepomyslel, jak mám paraboloidní shadow mapy, tak se tam tohle nestává.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
pospa



Založen: 22. 05. 2010
Příspěvky: 44

PříspěvekZaslal: 27. květen 2010, 20:32:59    Předmět: Odpovědět s citátem

A ty slouzi k cemu? Resp. v cem jsou lepsi nez obycejna shadow mapa?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pospa



Založen: 22. 05. 2010
Příspěvky: 44

PříspěvekZaslal: 27. květen 2010, 23:09:28    Předmět: Odpovědět s citátem

Tak jeste tak lezu po netu a koukam, ze zajimavy by asi byly stencil shadows.. chapu jak to funguje, ale uz vubec ne, jak to napsat. Neznate nejakej tutorial nebo example? Teorie je hafo, ale potreboval bych nejlip nejakej priklad ;-(
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Manox



Založen: 30. 07. 2007
Příspěvky: 140
Bydliště: Brno

PříspěvekZaslal: 28. květen 2010, 06:19:15    Předmět: Odpovědět s citátem

Ona to pořád je shadow mapa, ale mám bodový všesměrový zdroj světla a proto potrřebuju shadow mapu, která pokryje celé okolí světla. U slunce nad terénem je to zbytečné, protože nepotřebuješ pokrýt vše kolem světla.

Do stencil stínů bych se na Tvém místě nepouštěl, není to úplně vhodné pro velkeé terény a pak mnohem spíše doladíš ty shadowmapy než udělaáš stencily.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu 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 -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 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