Some wip projects

AndreasFSC

Too much going on...
battle1989.jpg
 
I think I will update the shaders pack first, (a few adjustments as mentioned before and the whole postprocessing addition), then some minor track updates.
Then if I am happy with these the Race Remaster can be updated too, but the file size makes it hard to work with. So it is probably easier to handle multiple packs than the whole thing. The screen shadows effect will still be experimental with a few artifacts now and then.

Anisotropic Filtering will not be included as it doesn't work as it should. Nvidia control panel setting works much better (for Nvidia users obvously).

There will be an option to use Vulkan (DXVK), it works well without any postprocessing effects enabled. Otherwise it will be really slow because of the way this works for the moment. There is also an option to use D3D9On12, maybe it can be an improvement for somebody, but for me it is slower... I think that if I somehow can find a way to not draw things twice to get depth data (ie access depth buffer in shaders), these other options would be much more useful. Generally the graphics card could handle more load, but the game and how it uses the cpu is the main bottleneck.

5.jpg
 
A lot of work has been done, I try to merge a few render calls to improve performance slightly.
The best option (or second best, getting depth buffer as texture would be best) would be to invert depth rendering order to reduce overdraw, but I don't think that possible for the moment. Nowadays it is possible to get a lot of information fast obviously, I didn't know much about d3d a few months ago...

Unless I find any new problems I think the shader and post process pack can be released in a few days. Don't expect too much of it, but I think it is a nice improvement.

6.jpg
 
Of course I could not resist...
This is the start of deferred shading on a separate game install.
The principle is to render screen information like normals, depth, etc to different textures simultaneous, and then calculate effects like reflections, specular, diffuse, etc on screen pixels only, not all the ones that are overdrawn. It is said to improve performance on scenes with many lights mainly, but I am curious to see what difference it will make here.

7.jpg
 
Of course I could not resist...
This is the start of deferred shading on a separate game install.
The principle is to render screen information like normals, depth, etc to different textures simultaneous, and then calculate effects like reflections, specular, diffuse, etc on screen pixels only, not all the ones that are overdrawn. It is said to improve performance on scenes with many lights mainly, but I am curious to see what difference it will make here.

View attachment 709263
I think also this is actually a beautiful screenshot, almost art (if there would be no menus)!
 
This is screenspace diffuse and fresnel (exaggerated for testing), simple depth of field, no specular yet (can't get it right for the moment) and screen space reflections! The reflections coordinates are wrong obviously and the amount is way too much, but I hope that this can replace cubemaps if approximated correctly. For the moment performance is good, but still missing a few things like screen space shadows and bloom.
There are also many things to solve, like transparent objects culling and sorting, dx8 shaders (can't output to multiple textures, how to solve that?? Sky materials?? Things behind transparen surfaces?? blurring reflections??)

8.jpg
 
Wow, that's an impressive improvement.
One thing that have always bothered me with ISImotor games is the lack of real reflections on the car body. If you can adjust the reflections coordinates, this alone can transform the game to something new.
BTW what is the performance compared to the vanilla R07 ?
 
Still not quite right, but looks better. One cool thing is to see a the reflections when driving under a bridge :)
For the moment I think performance is about the same as standard game, possibly more "tearing" (from rendering more output channels), but it might be possible to improve that with better synchronization/z-buffer(?)
For the moment car windows are only visible from inside, so the inside geometry reflects the textures that should be reflected by the glass :O_o:
Maybe some d3d culling setting can fix that.

9.jpg
 
Specular is added. It looks nice here, because there are no rear window.
Windows are problematic. Either normals are rendered for things under the glass and causes the glass reflections to be very wrong, or glass normals are rendered (haven't managed to get that working yet) and all details behind the glass will lack diffuse, specular etc.

Also added screenspace shadows and 2x ingame supersampling to test performance, and it is OK so far. But I haven't tested any Simbin tracks yet.

So far screenshots look better than ingame graphics, mainly because of reflections distortions and issues with transparent materials...
There are a lot of things that need to be fixed, and some are more challenging than others.


10.jpg
 
A lot of challenges left to solve, but some improvements has been made.
The skies and weather effects, sun flares etc doesn't work yet, and there are some menu issues after a race.

The materials are getting better and also the screen space shadows, but they need tweaking and smoothing.

Also need to identify and apply post processing to car selection menu car, otherwise it looks bad without any shading at all.

11.jpg


12.jpg
 
Work and postprocessing modding taking up all my time and energy for the moment.
As always, sorry for not replying to many messages, I'have had a minor brain burnout for a while now.

Good things:

* All (or almost all) in game shaders are now d3d9.
* All of those ps 2.0 shaders are now compiled as ps 3.0 (which means more code is possible and some more functionality is enabled)
* Deferred rendering, resulting in more consistent lighting over the whole scene. There is a color texture, a normals texture and a masking texture that are combined to the scene.
* Anisotropic filtering is now included in the game. Mipmapping is included in shaders, but needs more tweaking.
* Shadows are more realistic now. Instead of being drawn in top of other things I have now redirected shadows shaders to the masking texture, reducing/removing diffuse and specular lights. Looking better an much more consistent. Shadows areas and surfaces facing away from light are now the same, and are not added on top of each others.
This things were just not possible before.
* A little bit of AO and screen space shadows added. Cars and other objects casts some shadows on themselves and near objects. (picture 5 and picture 2, shadows in red and yellow garage to the right)
* Cars now reflects environment and other cars. Not perfect, but should be 'good enough' I think. Still need a little bit of tweaking in bonnet view. (picture 3)
* Hacky water reflections shader WIP (picture 4)
* New omni and glow lights pass added (WIP). I can easily add point lights, but we need the game to tell the shader where to put them. This could also be car headlights if I knew how to add the positions and statuses (on/off etc) from the game...
* Other effects. Very soft versions of depth of field, darkness correction and vignette added.


Bad things so far:
* I haven't been able to add really good multisampling yet, it doesn't look as good as before when using really high resolution. There are 'manual' multisampling and shader FXAA included, but they are not perfect.
* Some texture animations with a lot of textures (exhaust flames) crashes d3d. Using 10 or less textures seems to work. Not entirely sure why yet.
* Minor car selection menu inconsistency (semi transparent menu elements are slightly less opaque when drawn in post processing mode. Haven't been able to separate them yet after the car is drawn.)
* Lense flare doesn't work for the moment, but might be replaces with a light.

13.jpg
14.jpg
15.jpg
16.jpg
17.jpg
18.jpg
 
Back
Top