* Added rimshine to trees, ground, grass, tire tracks * Added "specular in shadow" to vehicles and trees again * Rain now boosts the color of things while also darkening them to make them look wet/saturated with water * AO softening impacts only under-tree AO, leaving under-vehicle AO dark * Optimized color brightness post-processing code * Optimized some other code
added rimshine to trees, ground, grass, tire tracks, vehicles, etc
added "specular in shadow" to vehicles and trees again, but just them and just a bit
replaced post-processing color brightness w/ a better version that reduces math per-pixel for same result
optimized some calc's more
also used Ben's Rain Tutorial 14 "Wetness" vid to figure out how to oversaturate & darken color
realistically when it rains
fixed sun/moon so clouds impact them again
Ambient Occlusion softening only impacts the AO created by trees, not under vehicles.
Misc Commentary:
Odd part about working on shaders is you'll find industry-standardized functions and algorithms for some things, then other things are just an absolute hack-fest and experimentation. EG: PBR BRDF is pretty standard these days. But, implementing rain.. I thought I could come across a simple algorithm without having to implement some complex subsurface scattering thing. But, no. Ben's tutorial on "wetness" showed various hacks to darken things while over-saturating their colors as hack ways to make things look wetter, but it's not implementing a standardized white paper algorithm. It's funny how there's this technical, standardized base of industry algorithms that we then prop up 3 racoons in a trenchcoat on in hackish fashion to simulate other effects.
I tried giving VSM / ESM shadows another crack, but after checking over the code Asobo was trying to use the tex2Dproj and tex2D functions with shadow lookups and projection calculations. I already experimented trying to do that using their implementation of Cascading Shadow Maps (CSM), but couldn't get it to work. So, if VSM (Variance Shadow Maps) and ESM (Exponential Shadow Maps) rely on that, it simply won't work. I'm basically stuck with the limitations of the shader model, DirectX 9, and whatever the game engine pipes in. After a while it's like trying to beat your head into a wall trying to get things to work without having complete control over the things you'd ideally control to make it happen.
This leads me to "giving up" on working on the shaders again. I wanted to really make the shadows look nicer, do god rays, and also do screen space ambient occlusion. But, I think all that has to use game engine tweaks or better Direct X version or something I can't control. I decided to practice "mindfulness" with the shaders. IE: instead of trying to force certain things, I decided to just stroll through the shaders every now and then and see where things take me. Or, I'll play another game, see some effect, and wonder if I can implement it in the FUEL shaders. (EG: the Rimlighting / Rimshine effect I noticed when playing The Dark Mod). This takes a lot of pressure off, but it means I create a "white whale" effect where I'll be annoyed at not being able to Captain Ahab the main features I wanted to implement, b/c they'll be constantly out of reach.
Once again, I'm having to put the shaders away, b/c I'm spending to much time obsessing over things I can't change, and working on stuff that shouldn't change and risk breaking it while trying to do very minor things of little consequence.
It's a 14yo game. Time to let it go.
Average
-0 votes submitted.