Stínování v Open Rails - aneb využít engine OR naplno

#25
Kdo chce mít kvalitnější stíny a hlavně více stínů v OR MonoGame, ať zkusí úpravu, na kterou jsem přišel náhodou. Jestli funguje pod standardním OR, to jsem nezkoušel. Na výkon nemá vliv.
Obrázek vlevo je bez úpravy a vpravo s úpravou. Stíny jsou výraznější, je jich více a mapují objekty kolem sebe. Všiměte si horního krytu lampy - bez úpravy jen šedivá nevýrazná a s úpravou vidíme stínování.

V OR adresáři Content najděte soubor ShadowMap.fx. Tam najděte 2 řádky Out.TexCoord_Depth.z = Out.Position.z;
Změňte je na Out.TexCoord_Depth.z = Out.Position.z - 0.001; a uložte a je to.

1.jpg
 

Dan J.

Strojvedoucí
#28
Do regitrů nelezu, nehrabu se ve věcech, kterým nerozumím. :) Nejsem programátor a servis PC mi dělá kámoš, co se tím živí. Ale spíš by mne zajímalo jestli nelze ošéfovat mizení stínů (viz. video) a zdá se mi, že teď OR vykreslije i zvláštně, neboli zvýrazňuje víc chyby stínování na trati (viz. obrázek).
paskov stíny.jpg
 
#29
Stíny u tebe nejsou tolik tvarově výrazné, protože máš nastaveno nízké rozlišení stínové mapy. To je ten parametr v registrech ShadowMapResolution.
Musí být aspoň na hodnotě 4096. To se mi zdá jako kompromis mezi kvalitou a velikostí mapy, protože čím vyšší, tím je to pro HW náročnější na zpracování.
To mizení dělají zřejmě LOD-y té stínové mapy. Zatím nevím, co je určuje. Bude to něco přímo v kódu.
 

Dan J.

Strojvedoucí
#30
Ahoj Icik, zeptám se tedty jako totální lajk, to je taky v tm souboru, nebo jak se k těm souborům co jsou popsány výš dostanu. :)
Dan
 
#31
Postup je zde:

1. spustit přes nabídku Start ve Windows aplikaci regedit.exe
2. najít pod HKEY_CURRENT_USER - Software -OpenRails složku "ORTS"
3. stisknout pravé tlačítko myši a vybrat z menu Nový - Hodnota QWORD (64bitová) a tím se vytvoří nová hodnota
4. novou hodnotu přejmenovat na "ShadowMapResolution"
5. tuto hodnotu dvojklikem změnit na Údaj hodnoty na 1000 (to bude v desítkové soustavě 4096)
 
#32
Zkouším různé kombinace a nejlepší stíny bez dramatického dopadu na výkon je v tomto nastavení:

ShadowMapCount 4 (velice důležité, jinak stíny budou jak obdélníčky)
ShadowMapBlur 1 (rozmazává okraj stínů a tudíž vytváří dojem "měkkých" okrajů kolem stínů)
ShadowMapResolution 1000 (to bude v desítkové soustavě 4096, velice důležité pro detaily stínů)
ShadowMapDistance 500 (velice důležitá hodnota, jen při této hodnotě jsou stíny nejkomplexnější))

Jiné hodnoty dávají horší výsledky, co se týče kvality.
 
#33
Iciku, díky za nové postřehy. ;)
Nelze se ovšem nezeptat, zda je reálné, aby se změny objevily v některé další oficiálně vydané verzi MG-OR? Upravovat znovu a znovu každou další verzi včetně jiných vychytávek a úprav (jejichž počet roste) je poněkud nepohodlné. I pro ty, kteří jsou schopni tyto úpravy realizovat.
 
#34
Pro ty, co neví jak vytvořit zápisy v registrech, jsem vytvořil jednoduchý automatický spouštěč. Stačí ho jen spustit a registr se sám upraví. Podotýkám, že je to vytvořeno pod WINDOWS 10. Starší nemám otestováné.

https://uloz.to/!LkJ9miTX5SSC/or-monogame-reg

Soubor s upraveným "ShadowMap.fx" si můžete každý zálohovat a při vydání nové verze tak znovu přepsat. Není to oficiální úprava a je to jen pro testování. Pokusím se to navrhnout vývojářům, aby to začlenili. Ale to nezaručuju. Zatím jen pro testování.
OR je neustále ve vývoji a do té doby budou pořád nějaké novinky.
 
Nahoře