Post-processing LDR generated images to 'appear' HDR, on an LDR monitor, isn't ideal. In my view they still look fake. They might look good, but still unreal.
GTR2 looked good, but it still doesn't look real. There is nothing wrong with looking unreal but what is our goal here? It'd be nice to do real because in the end it can be easier to achieve consistency which is a good thing considering how Racer works (ie, content from all over)
HDR processing tone-mapped to LDR for monitor is what we have and it works great.
Imo, realism often doesn't look how we expect it to look, and as we have said before just one weak link cascades down through the rendering. Ie, if the sky intensity is too bright then the exposure cranks down, and then stuff looks too dark, so we brighten textures or sun diffuse/ambient values, but it all gets unbalanced quickly.
In my view there is little to do to the second shot above except sense check all the values from top to bottom. Once they are right the shaders are the last thing.
Imo all they really need is specular response adding. That right now is a bit in limbo and is the biggest problem Racer has.
Ambient specular and diffuse specular responses need to be standardised somehow.
I've been looking for example at general specular response for dielectric and generally the colour seems to be inverse diffuse channel, and quite homogeneous. What makes most difference is the glossiness.
So perhaps we need to just say specular = 1/diff * scale (scale factor to add/reduce contrast of resulting output, probably a square curve function like 'curves' in photoshop), and then use the alpha channel to do glossiness maps instead?
Then we need to dump envmap sun spot and do ALL specular energies via other means to keep values in a consistent space between the two specular response types (currently massively unbalanced so authoring spec maps is impossible as you get one response right but the other is still miles out sometimes)
All relatively easy stuff in concept but unfortunately I'm not a pro shader writer like Ruud or Mitch...
The end result should be pretty much providing a nice texture, and then a glossiness map (hard to conceptualise what they might look like but generally shiny = white, matte = black) and then tweak the scale value to make it look right.
In theory getting materials right when the overall reaction to light and specular are all sensible becomes much easier.
Problem right now I think that puts people off is that the reaction to light and specular are broken because we have tended to a situation where diffuse/ambient are manually entered while the sky dome is procedurally generated, so we instantly have a mis-match of values/intensities that impact different materials different amounts.
Matching them is a task and a half before you go any further, and as soon as you do you hit the brick wall that is the envmap sun-spot being another intensity again vs the track crv/specular curve value (actually sun diffuse crv linked)... arghhhh
Then we hit the issue that specular vs envmap reflection are done differently (specular is just equal power across viewing angle while sun-spot power is adjusted across viewing angle with fresnel value)
Ideally we'd specify the bias/power/scale curve per material (or IOR) and have it impact the specular term too, both for specular ambient and specular diffuse.
Again, it's all kinda in there already, all the code/logic and hard work is done. It's just juggling it about in the background to do things a more sensible way so materials just react properly.
Right now we can make nice materials but we have to manage each one specifically with tweaks per shader, and that is just not ideal really. Racer should just make sense for authors out of the box. Diffuse/gloss map, a scale value, and an IOR or fresnel set, and then literally let the shader do the rest around that basic functionality for track materials.
For me right now I just can't seem to get the same look as I get when I drive around in my car and look at real materials. Ambient specular is half the fix, but without changing everything else around as above, then it's just a massive task of per-material tweaking/checking rather than it being all automatic because of balancing the methods of dealing with each element of reflection from 'diffuse' through to 'ambient' energy driven ones.
Hmmm
Dave