The online racing simulator
TEST PATCH 0.6J2 (now J5)
(130 posts, closed, started )
hello.i just make a quick test with replays and AI. looks really better than before, sometimes is weird i see "white things in car" , the position of reflections and car looks with more pixel(maybe im wrong and this is from angle i use in printscreen , my video card is not good anyway).i found some problems, if we download skins from replay and skin not anymore in lfsworld all car is black (exhaust also), and skid mark textures at Westhill crossing the tyres in every place we have this texture.
Attached images
LFS 0.6J.jpg
skin bug.jpg
westhill bug.jpg
How to use "Training lesson editor"??
You can't because you are demo.
Quote from Flame CZE :Indeed the reflectivity when looking parallel to the normal seems to be too low. I know it's supposed to emulate the fresnel effect, but it just looks too matte.

I tried adjusting the facing_reflectivity variable in Car2.psh to 0.12 and it looks a bit better in my opinion.

Also it's a bit of a shame there is no reflection of the road surface when looking at the side of the car (see here).

I agree, a little more facing_reflectivity is needed and the road reflections would look cool.

Otherwise it looks great and the FPS did not seem to suffer much or at all thanks to the other optimizations.


Everything looks great, although aliasing of the reflections is now quite noticeable with the in-car view. It didn't seem to make a difference when I forced 16x AA in the Nvidia CP.
Very nice update, thanks Scawen! Thumbs up

However, I find it very disappointing not to have road reflecting on the car, maybe a Dual Paraboloid reflection mapping will give a better and more accurate result while using only 2 passes. Anyways, sound promising, keep it up! Smile
Nice patch, Scawen!
BTW, I looked to the shader code and I see you are using the same hemisphere mapping as before. Maybe it's time to switch to full sphere mapping (I described it here https://www.lfs.net/forum/post/1876319#post1876319) or dual parabaloid mapping? (http://graphicsrunner.blogspot.ru/2008/07/dual-paraboloid-reflections.html)
And one more thing. You don't really need to render envirovment for every car. One single map rendered for active\nearest to camera car and shared with other cars is enough. It's better to use resourses for higher draw distance. For example gran turismo 5/6 uses single env map for all cars. Asetto Corsa renders one single map from camera position.
Quote from Keiichi_Tsuchiya :You don't really need to render environment for every car. One single map rendered for active\nearest to camera car and shared with other cars is enough. It's better to use resources for higher draw distance. For example gran turismo 5/6 uses single env map for all cars. Assetto Corsa renders one single map from camera position.

And both games produces a weird result when you are in a tunnel while the car in front of you isn't for example, GTA V has the same problem. It's a nice suggestion though, but I guess it's better to have the options in the graphics settings to be future proof or to let people with high-end rigs have more accurate effect (and it's does not cost much time to add a button on the options and some if/else conditions). Wink
Quote from Keiichi_Tsuchiya :Nice patch, Scawen!
BTW, I looked to the shader code and I see you are using the same hemisphere mapping as before. Maybe it's time to switch to full sphere mapping (I described it here https://www.lfs.net/forum/post/1876319#post1876319) or dual parabaloid mapping? (http://graphicsrunner.blogspot.ru/2008/07/dual-paraboloid-reflections.html)

I agree that it would be great to use the whole environment for the reflections. It looks pretty good as it is now, I like that it reflects the autocross objects too, but you can see that it lacks "half" of the reflections that should be there.

It is nicely visible if I manually set the reflectivity to 1 (see the attachment). The dark/black areas would ideally be reflecting the surrounding tarmac and environment too.
Attached images
uf1_refs.jpg
+10.2 for comments above. Thumbs up

Also it would be nice if you can improve the ambient light emission for the car body, when a part is not facing the light source the shadows are way too dark, actually LFS has probably something close to that :



An additional light to simulate ambient occlusion will give a better result :




And it's very useful to simulate a metallic shader :

Attached images
exemple.PNG
Tested out post processing, it seems working fine. Already tried to create sharpening filter and fake motion blur.


Attached images
motionblur_off.jpg
motionblur_on.jpg
Sharp_off.jpg
sharp_on.jpg
Distance fog option disappeared in this patch or earlier?
Quote from pasibrzuch :Distance fog option disappeared in this patch or earlier?

It needs to be recoded in HLSL since this update converted legacy assembly shaders into HLSL.
Quote from nacim :It needs to be recoded in HLSL since this update converted legacy assembly shaders into HLSL.

It means yes, I think.

Somehow I like these 'out of nowhere' test patches Smile
Everything fine for me in 0.6J2, only numberplate is missing on GTRs' windows. Looking forward for next changes and improvements Thumbs up
I just noticed that the fences on South City near the pitlane have some aliasing problems, I think they would benefit from the same treatment as the trees and other fences. This looks the same on J and J2 but since this is a graphics related patch I thought I'd mention it.
Attached images
lfs_00000055.jpg
Quote from AnnieC :I just noticed that the fences on South City near the pitlane have some aliasing problems, I think they would benefit from the same treatment as the trees and other fences. This looks the same on J and J2 but since this is a graphics related patch I thought I'd mention it.

As far as I can tell those artifacts are due to your Mip bias settings. In options > graphics try moving the Mip bias sliders to (0,0) and see which settings you prefer.
Quote from mbutcher :
Quote from AnnieC :I just noticed that the fences on South City near the pitlane have some aliasing problems, I think they would benefit from the same treatment as the trees and other fences. This looks the same on J and J2 but since this is a graphics related patch I thought I'd mention it.

As far as I can tell those artifacts are due to your Mip bias settings. In options > graphics try moving the Mip bias sliders to (0,0) and see which settings you prefer.

Moving the Mip bias slider does not fix it.

On another note, now that there is post processing, simple controls like gamma, contrast and brightness could be added to the settings.
This patch is absolutely amazing! Loving it Thumbs up

LFSHeart
Wow !!! so much better !!!
This is lovely, congratulations !
Thumbs up
Wow, that's something I've been always waiting for! Smile
However, the reflections system (I think you know that, Scawen Smile ) seems to be still inaccurate - not only the lack of reflections of things below the horizon, but also the reflection is very.. "curved" - like objects suddenly appear out of the blue (or actually from down under) when they should be already seen on the car (as we're facing them) - I suppose it related to the reflection mapping method Keiichi_Tsuchiya mentioned?
Quote from Keiichi_Tsuchiya :Nice patch, Scawen!
BTW, I looked to the shader code and I see you are using the same hemisphere mapping as before. Maybe it's time to switch to full sphere mapping
...
And one more thing. You don't really need to render envirovment for every car. One single map rendered for active\nearest to camera car and shared with other cars is enough. It's better to use resourses for higher draw distance. For example gran turismo 5/6 uses single env map for all cars. Asetto Corsa renders one single map from camera position.

Quote from nacim :And both games produces a weird result when you are in a tunnel while the car in front of you isn't for example, GTA V has the same problem. It's a nice suggestion though, but I guess it's better to have the options in the graphics settings to be future proof or to let people with high-end rigs have more accurate effect (and it's does not cost much time to add a button on the options and some if/else conditions). Wink

Quote from Flame CZE :I agree that it would be great to use the whole environment for the reflections. It looks pretty good as it is now, I like that it reflects the autocross objects too, but you can see that it lacks "half" of the reflections that should be there.

It would be nice to have a full panoramic environment map but they are massively more expensive. These hemispherical maps use a single upward facing render of nearby objects for each car. Usually there are not many objects to be rendered in each of these, so we keep the high frame rate.

If you go to a cube map or other 'full' map, you need to render the world scene in every direction, usually 6 renders of the world. Even one single render of the world that includes the horizon, means that thousands of objects must be rendered. A cube map for one single car requires four of these 90 degree full world renders, plus an up and a down render. Several optimisations could be made but it would still be a huge frame rate cost. It's not worth it if we are going to focus on racing. I do not agree that it is OK to render one environment map for the nearest car and apply it to all cars. I want to see the tunnel or nearby objects reflected on top of each car as it goes through the tunnel. I don't want the tunnel to be seen on all cars just because the nearest car goes under the tunnel, then not see the tunnel reflection on the other cars when they go through.

So, this single render seemed the best thing. Undoubtedly the most important reflection on a car is the sky reflection. That is a light source. I know that in real life you can see white and yellow lines on the road, and nearby bright objects reflected in the car, but it's really things passing over the top of cars, blocking the sky, that are highly visible and most important and I wanted that generated individually for each car.

Quote from pasibrzuch :Somehow I like these 'out of nowhere' test patches Smile
Everything fine for me in 0.6J2, only numberplate is missing on GTRs' windows. Looking forward for next changes and improvements Thumbs up

I've fixed that issue now. You can put the shader in the attached zip into your data\shaders folder if you would like a quick fix.

Quote from R@fiXII :Wow, that's something I've been always waiting for! Smile
However, the reflections system (I think you know that, Scawen Smile ) seems to be still inaccurate - not only the lack of reflections of things below the horizon, but also the reflection is very.. "curved" - like objects suddenly appear out of the blue (or actually from down under) when they should be already seen on the car (as we're facing them) - I suppose it related to the reflection mapping method Keiichi_Tsuchiya mentioned?

In fact the sky has the correct distortion but the objects do not, at the moment. I am working on an improvement so the objects are correctly distorted onto the environment map. This will allow a wider FOV to be used when rendering the objects for the reflection and so include more nearby objects in the environment maps (specially on nearby cars).
Attached files
data_shaders_Car2.zip - 1.6 KB - 568 views
Found some anomaly on this wall. Ultra bright red areas.
Attached images
anom.jpg
Quote from pasibrzuch :Found some anomaly on this wall. Ultra bright red areas.

It's actually like that in previous versions too, still weird though.
Quote from Scawen :It would be nice to have a full panoramic environment map but they are massively more expensive. These hemispherical maps use a single upward facing render of nearby objects for each car. Usually there are not many objects to be rendered in each of these, so we keep the high frame rate.

I thought you were trying to future proofing a bit more LFS on the graphical side while you catch up with modern graphical engines ? Most racers around here have computers that are easily capable to render a full 256x256 cubemap each frame.
I really don't think that some full sphere mapping with a low draw distance will eat performances. And don't forget that it's a graphical option, people with lower-end computers can disable the effect (and the full sphere could be replaced with a static one on the dds folder), or enable it only for their own car for example. Wink

Adding expensive options does not mean losing your player database if you keep the minimum settings low enough so people can just enjoy LFS on a low-end computer, but you'll have more potential buyer because there are a lot of people just ignoring LFS because it's not "modern looking".
Quote from Scawen :
It would be nice to have a full panoramic environment map but they are massively more expensive. These hemispherical maps use a single upward facing render of nearby objects for each car. Usually there are not many objects to be rendered in each of these, so we keep the high frame rate.

If you go to a cube map or other 'full' map, you need to render the world scene in every direction, usually 6 renders of the world. Even one single render of the world that includes the horizon, means that thousands of objects must be rendered. A cube map for one single car requires four of these 90 degree full world renders, plus an up and a down render. Several optimisations could be made but it would still be a huge frame rate cost. It's not worth it if we are going to focus on racing. I do not agree that it is OK to render one environment map for the nearest car and apply it to all cars. I want to see the tunnel or nearby objects reflected on top of each car as it goes through the tunnel. I don't want the tunnel to be seen on all cars just because the nearest car goes under the tunnel, then not see the tunnel reflection on the other cars when they go through.

So, this single render seemed the best thing. Undoubtedly the most important reflection on a car is the sky reflection. That is a light source. I know that in real life you can see white and yellow lines on the road, and nearby bright objects reflected in the car, but it's really things passing over the top of cars, blocking the sky, that are highly visible and most important and I wanted that generated individually for each car.

Okay, I got your point.
Usually for full environment mapping, cubemap camera renders a scene with low detalied objects(some of them even excluded from rendering), and low camera far plane (not more than 100-150 meters). It's don't even need to update whole cubemap every frame, just one side of it. These optimisations in most cases saves a lot of resources.
Maybe I just used to work with physically based rendering, where full environment cubemaps are important, and maybe because of that, inaccurate reflections and lighting makes my eyes hurt.
I don't know the way you going to push LFS graphics, I'm just trying to point on things that already used in game industry. Anyway, keep it up, Scawen!

Here's another alternative for full environment reflections that you may like:
It's called a box-projected cubemap. It doesn't require to render environment in real time. It designed to add volume to static cubemap reflections. With a bunch of static cubemaps with box projection and blending betwen them you can make nice faked dynamic reflections.
http://www.gamedev.net/topic/5 ... emap-environment-mapping/

https://seblagarde.wordpress.c ... rallax-corrected-cubemap/
This thread is closed

TEST PATCH 0.6J2 (now J5)
(130 posts, closed, started )
FGED GREDG RDFGDR GSFDG