The online racing simulator
Searching in All forums
(864 results)
nacim
S3 licensed
https://www.lfs.net/forum/post/1327869

litterally my current oldest post on the forum
nacim
S3 licensed
Yeah I though of this too, I think adding a SSAO (Call of Duty's GTAO for example) to the renderer would really improve the image in shadows, vertex ambient occlusion is ok for large scale AO, but can't grab the fine details.
But I think Scawen has enough things to worry about for this release not to worry about that for now, it can easily be added later on. Wink

The big thing that is weird on the screenshot to me is the light leak under the roof of the entrance
nacim
S3 licensed
Quote from Flotch :indeed, everything is fine, even in the mirrors Smile

Speaking of mirrors, @Scawen, how do you handle shadows for mirrors and environement maps ?

If I'm seeing correctly, for mirrors, you are rendering another cascade (maybe using a bounding frustum of the 3 mirrors in order render shadows 1 time instead of 3) with a max distance of around 250m. This is nice, considering a lot of game just don't render shadow maps in secondary renders (environement maps, mirrors).
For environement map I can't see much in the current screenshots and videos Schwitz

Quote from Scawen :But I don't know how many people have a Direct3D 10 graphics card as D3D10 was out a relatively short time before D3D11 was available. I think for now I'll keep trying to make sure it can run on them using SDR.

Looking at the Steam hardware survey, for what its worth, DX10 GPU and less account for only 2.9% of all users. FL 11.0 is available in virtually every PC nowadays. The only "big" GPUs that I could think that are DX 10.0 / 10.1 are the GT 2xx series, released in 2008.
Last edited by nacim, .
nacim
S3 licensed
Wow, I'm really impressed by the ammount of work put into South City, good job !

@Scawen: You moved histogram generation on the GPU, that's nice to see, and looking at the settings that you got to tweak it, I feel like we saw similar papers for it. Smile
Did you had to move to feature level 11 for it or did you found a way to make it work in feature level 10.0 ? Uhmm

Clouds can be a really long task, and really rewarding, but yeah, I'm sure that when you'll get nice clouds rendered you'll have a hard time containing yourself not to implement rain weather and simulation, so I suggest you get the tire physics ready first Big grin

Quote from lfsrm :Hopefully the core graphics engine is near completion.

Is it even possible to finish a graphics engine ? As a graphics programmer myself, I sincerly doubt it Big grin
nacim
S3 licensed
Quote from Paprika6 :Are the new tracks going to affect lap times and uploaded hotlaps?

Yes
nacim
S3 licensed
Thanks for the update Scawen, glad to see it still going strong Smile

I have some questions though:

- Why don't you generate the auto-exposure histogram on the GPU ? It's a highly parallelisable operation, so perfect for the GPU, and would remove the need to transfer data back a framebuffer to the CPU. IRC you need it for the atmospheric sky on the CPU, so you'll have only a small struct containing the final exposure to send back.

- Do you have a system to have physical light units in your engine ? Like tweaking spot light by setting it to be a 100W LED at 5000K for example. Coupling physical lights units with physical camera settings (aperture, shutter speed, etc) really add another dimension to the lighting, and creating a coherent HDR range between sun light zone (at 90/100k lumens) and the dark parking (see attachements).


For your fallback ambient solution, it actually really common, we also use the last mip of specular IBL to fake the diffuse lighting on cars, and it really does the job nicely when you don't have light probes available. Smile
Last edited by nacim, .
nacim
S3 licensed
Nor upgrading your computer ? Big grin
nacim
S3 licensed
Quote from gu3st :RTX is also nVidia specific. Microsoft is working on raytracing for DX12 as well AFAIK.

"RTX" is just NVIDIA's marketing name of the hardware capable of raytracing and compatible with DirectX Raytracing (DXR). I think xmlenoa simply meant ray tracing effect (or even path tracing in LFS).
I admit that it would be awesome, but that's way too far for the targeted hardware by Scawen (DX10 capable GPU, at best it would DX11).

Using DX12 feature level 11 (so compatible on a DX11 GPU) would be doable, and using FL 12.0 (to enable raytracing) could be feasable, but that would require dropping support for Windows 7, 8 and 8.1.
nacim
S3 licensed
Quote from Scawen :I've tried that small change in a test patch now.
It also includes an experimental VR test so it's not the 'official' test patch yet, but you can find it here:
https://www.lfs.net/forum/post/1954788#post1954788

Hello Scawen, thanks for the heads up. Sadly I won't be able to try it as the 32:9 screen is at my workplace and I work from home due to the current situation.
nacim
S3 licensed
Quote from Scawen :Histogram analysis of a render target and pass the results back to the CPU (for auto-exposure).

Well, you don't even need to pass the result back to the CPU if the only thing using it is the tonemapper post process. You can store the result of the histogram compute in a RWStructuredBuffer and read it directly in the tonemapper's pixel shader (or even compute shader, which is a more optimised way to compute post process too, especially for things like downsampling using parallel reduction (here or here)


Quote from Scawen :Should these be possible with the D3D10 compute shaders? My understanding is compute shaders started in D3D10 and were extended in D3D11. At the moment I feel it is better to keep supporting computers with a D3D10 GPU.

Well, I think it is doable, to see what compute shader features are allowed on DX10 hardware and to what extent, I suggest you check out this link
Compute shaders in D3D10 can be limiting, but if you are willing to put the time to make your shaders work on it I think you could do some nice things, but in my opinion I don't think it is worth spending time supporting GPU that are more than 12 years old now.
If you find yourself stuck corner for a new feature, I think it would't be unreasonable to either drop support of DX10/10.1 hardware, or disable that feature depending on the feature level.
nacim
S3 licensed
Quote from Keiichi_Tsuchiya :Wow, this is unexpected.

Yeah, but thinking about it, it can be really hard to implement modern rendering techniques using such an old API, without compute shaders, asynchronous operations, multi-threading capabilities, etc

Scawen, I think you don't worry about minimum GPU requirement implied by the update, I'm pretty sure even the best DX9 compatible GPU couldn't handle the new update anyway, so that's a good thing for performance, stability and quality. Smile

Is your new rendering code using command lists? If not, I suggest you really use them from the begining, as it's the only way to record work to submit to the GPU from D3D12 onwards, and to record work from other threads in D3D11, so it will save you some time in the future. Smile

Looking forward for a new GPU based particle system using compute shaders and indirect draw calls, or a tile light clustering system to help with night rendering with a lot of lights Big grin

Keep it up ! Thumbs up
nacim
S3 licensed
Quote from nxggera :Hi guys, i keep getting this message "CreateRenderTarget failed (MS4) : GARAGE~T" and lots more. pls help

Your game install by me corrupted, try reinstalling the game. Or if that doesn't do it, it might be your GPU drivers. Try cleaning them with DDU and installing fresh drivers from Intel, NVIDIA or AMD. Wink
nacim
S3 licensed
Indeed it would make a drastic change for the games where you don't want to use the Rift Smile
nacim
S3 licensed
Quote from Meseplayer :Hi Nacim,

You seem to have a nice driving setup, for sure not the cheapest;-)
The third screen is the best in my mind, but it also would have been nice to see a screen (or even a video) from inside a car, both standard and open wheeler, maybe when entering a curve, how You see the apex and curbes?

Thanks, sadly it's not my personal setup but a simrig I built at work (racing game studio, we must have a simrig Big grin). Still, I can go play whenever I wish outside work hours. Smile

Well, apexes are sure way easier to see than with a 16:9 or my 21:9, but can still be blocked by the A pillar on some rare occasions. On LFS it's not really a problem, I see this more often on Dirt Rally 2.0.
I attached a quick photo I got from my mate trying to survive with a Group B Lancia Delta S4 Big grin I'll try to make some shots with LFS when I can Wink

If you really need the maximum visibility in corners, a VR headseat is perfect. Still, we mostly use the screen as LFS act weirdly with our HTC Vive, head movement have ghosting that Assetto Corsa doesn't have. @Scawen do you have any idea on how I can fix this btw ? Smile



Quote from Pasci :@nacim: Which seat do you use? Looks interesting. Homemade or a purchased solution? :-)

It's the Fanatec RennSport Cockpit V2 with the Sparco Pro 2000 seat so no, not a homemade solution Wink
nacim
S3 licensed
Hello,

I finally had some time to do some testing, and here are the results:

Default:


1 screen left and one center:


1 screen, unequal splits (1280-2560-1280):
nacim
S3 licensed
Quote from Scawen :Thanks. I've found the answer and can reproduce it with a stretched window.

If the width is 3x the height (or more) it assumes you are using a three screen setup (EDIT: and in that case confines the interface to the centre screen).

I think that is now outdated but I think it might work if it was changed to 4x instead of 3x.

Then it would still detect 3 screen setup if you connected 3 monitors with a 4:3 aspect ratio (12:3 overall -> assume 3 screens). But in the case of your setup it would not assume 3 screens and would display a 16:9 interface.

Hello Scawen,
Thanks for the insight. If you could add this to a test patch I would gladly try it.


I'll try some setups in a few hours and edit this post. Wink
nacim
S3 licensed
I have it, it works nicely. By default LFS thinks it's a 2 screen setup, but once you go in the settings and set it to 1 screen it works nicely in race. The menus are a bit squished though
nacim
S3 licensed
Nice find, thanks, I was wondering if I should do myself a custom build like that recently Big grin
nacim
S3 licensed
And he isn't between his lines, just like in real life Big grin

Quote from Evolution_R :They are not always lit up - only when there is a other car headlights behind. Maybe it is a little brighter than it should. Shrug

It's because of what I told earlier, car headlights do not cast shadows, so the lights of the car behind are leaking into the interior

Quote from nacim :I hope to see headlights shadows to remove headlights going through the interio of the car in front like here:
Spoiler - click to reveal


nacim
S3 licensed
Thanks for the progress report! Thumbs up

South City looks really nice, so does LFS in HDR mode. Cars looks stunning too with the new HDR reflections Smile
I'm really happy that you decided to add the bloom now, I think it really starts to give the rendering a softer looks.

I hope to see headlights shadows to remove headlights going through the interio of the car in front like here:
Spoiler - click to reveal

nacim
S3 licensed
Quote from Scawen :Yes, the CPU sky is for:
- ambient lighting spherical harmonic (for directional ambient lighting)
- maximum brightness value (needed before the GPU sky is generated - see below)
- average sky colour (I'm trying to move away from any uses of this)

The GPU sky can still be stored as a 32-bit SRGB texture, doesn't need to be 64-bit HDR if I know the maximum value (from the CPU) before it is generated on the GPU. Each pixel is then multiplied by (1.0 / max_brightness) so the sky uses the full 24-bit range of colours.

Good way to improve memory bandwith Thumbs up


Quote from Scawen :I'd sometimes like to be able to generate things on the GPU and read the texture back into system memory for analysis by the program [...]
But I think this is a limitation with DX9 so I've avoided using that in real time situations.

Yep, but you can read data from the GPU asynchronously with DX11. And you also don't have compute shader or HLSL 5.0 so you'll be really limited for path tracing anyways Wink


Sorry for the late reply
nacim
S3 licensed
Thanks for the development update. I really enjoy reading about the development on the programming side Smile

What's the use of the "CPU generated sky" ? Is it used to generate the ambient Spherical Harmonic or something like that ? Can't you reuse the GPU skybox, downsample it and upload it back to CPU ?
nacim
S3 licensed
TIL about centroid sampling. Thanks Rejekt for the link Thumbs up

Now I'm satisfied that we know the real cause of the issue Smile
Btw thanks for the effort to reproduce it on the public build Scawen. Wink

Quote from Scawen :I know it adjusts the radio volume as I go faster which is conceptually similar. Smile

I really miss that feature on my MX-5 Dead banana
Last edited by nacim, .
nacim
S3 licensed
Quote from Scawen :Thank you for pointing me in the right direction again.

It turns out the super bright pixels were caused by the Z value for the fog calculation. On some of the oblique triangles, at some precise camera positions that weren't easy to find, the value could go way out between vertex shader and pixel shader. That caused the lerp between calculated colour and fog colour to go to extremes. Fixed by clamping the result of exp() between 0 and 1 before the lerp.

There are still some bright pixels around I can look into but they aren't causing random blooms.

My pleasure really Smile
Glad to see that you fixed the problem, though now I'm wondering what's the cause for this depth value that goes above 1 on MSAA samples Uhmm


Quote from Scawen :Anyway here's another couple of pictures.

You forgot to turn anisotropic filtering back on Tongue
The floodlights looks really stunning though. Do you have a system for the dynamic lighting on cars right now ? To have them light up properly by thoses floodlights Smile

Quote from Scawen :The other solution could be physical gauges that are naturally visible in the day and have small surrounding bulbs to light them at night.

I hope when cars will be updated that they'll have physical gauges with backlighting at night Smile
nacim
S3 licensed
Interesting. I would try to normalize the vertex normal in the pixel shader first, and check for holes in the geometry also. If your pixel shader just returns a uniform color, do you still have the problem ?
FGED GREDG RDFGDR GSFDG