Linear color space
🕑 Added 2024-04-06 18:52:53 +0000 UTCWhen it comes to rendering, Assetto Corsa always had this problem where all the shading was done in so called gamma space. That’s a common mistake (and in fact, some years ago most videogames were doing things this way), and while I became aware of the fact some time ago, only recently I realized the extent of the issue. Pretty much anything we were trying to do, be it dynamic lights, reflections, fog, sun/ambient light combo, or even something as basic as Lambert model computing light contribution based on surface orientation relative to light, nothing worked correctly as a result. Ever noticed how car reflections were broken at night, for example, or how multiple dynamic lights in the same area were quickly oversaturating the image? If you’re interested in more details, I wrote a detailed explanation on CSP wiki (github.com).

At first I tried to add some shady workaround, but when I was finishing working on the 0.2.2 update it occurred to me how we could change things. It is still required to rewrite quite a lot of CSP rendering, but thankfully done this way we don’t really have to go back and redo all the material settings, so things should look pretty reasonable.

But one thing that couldn’t be automatically adapted was Weather FX styles. When working on them earlier, we were (sometimes unknowingly) putting a lot of effort to try and mitigate issues created by incorrect rendering. I tried to create some compatibility layer, but the results were so poor so now it’s up to WeatherFX styles to decide which color space to use. Right now, only the default style supports linear color space, but I’m sure Peter Boese will update his wonderful styles soon. For now, this is how you can activate the new option:

With the linear color space option active this style would look very different: when rewriting it, this time I used actual lumen values and other sources for reference. It also takes humidity and pressure into account (you can tweak those during the race using built-in CSP Debug app). Here are some before and after comparisons:
Rally at night (notice how different headlights interact with the surface);
Race on Laguna Seca (car paint seems more reflective with dark colors);
Please note: with the new option available some PP filters might misbehave, especially with YEBIS replacement active (and you don’t need to activate it for the color space option to work). Some materials might also seem off: while remapping covers most cases, it might need some further improvements. If you’re working on new content, please have a look at the post I linked earlier.
Surfaces FX
Another big change is an experimental module Surfaces FX. It’s a part of our efforts to bring actual rally races to Assetto Corsa, so it’s mostly focused on gravel behavior, but it also alters grass and sand as well. As an experimental physics extension, for now it’s only available in offline races, or on servers that explicitly enable the option. Please give it a try on some rally track, or just dive into sandpits. One thing to note however, don’t expect existing rally cars with tarmac tyres to behave like cars with rally tyres. Actual rally cars with actual gravel tyres are coming very soon, as well as a Сo-pilot and advanced pace notes editor. But even without those, street tyres can already be fun on gravel.

New physics experiments
While some physics experiments were proven and as such now enabled by default, there are a few new ones available now. No longer you’d need to explicitly enable extended physics in CM, now there is a checkbox simply activating it for all cars. Another option adds lateral rays: while extended physics already adds a lot more rays per tyre, by default those rays are only longitudinal. Adding lateral rays changes behavior a lot more significantly: now curbs are a lot safer to drive on, but those lateral rays also cause contact points to shift left and right, so FFB might noticeably change (and in general, those lateral rays make designing suspension a bit more difficult).
Another noticeable change is an experiment replacing surface noise used for some surfaces with Perlin noise (however, Surfaces FX extension currently pauses Perlin noise completely and replaces it with its own damping-based approach).

Mouse steering extensions
If you’re using a mouse to steer a car, now you can use a Lua script to improve the controls as well. Default script also maps the mouse wheel to shifting gears, so with that and an option to use the middle mouse button to toggle mouse steering you can control the entire car with one hand.
(However, if you have a mobile phone with a gyroscope, I would recommend you instead to take a look into Gamepad FX’s Mobile script. Just change input mode in AC controls settings to gamepad, enable that script and it should guide you through the whole installation after clicking a start button in AC. There were some issues with it previously, but it should work again now; and I should really look into turning that Expo snack into a proper app.)

Other notable changes
Some unnecessary settings were hidden to remove the clutter. There is no reason to not use a fix for stereo in VR, for example, so why is it there taking space and confusing newcomers?
AIs got a few fixes and a bunch of new tweaks to fix some common issues, most of which are disabled by default, but should work well.
If you’re familiar with the Traffic Planner tool, there is a new option allowing you to export lines from it as new AI splines. Just a small addition that might help to save some time in some cases.
Astronomical computations are now done by some ancient library from the 90s that actually works properly, way better than stuff I tried to come up with based on some papers I found online. So, the upcoming eclipse should actually be there!
Track Adjustments got an option (enabled by default) to snap tyre grooves to the underlying surface. Not a massive change, but it fixes this thing that was annoying me for years.
Smart Mirror with Real Mirrors option active can show virtual mirrors only for the mirrors that are not currently visible in the main view, kind of how Euro Truck Simulator 2 does it.
VR tweaks: options to change pointer color and to get it to hide faster based on rolling average of its speed alone.
Default Weather FX style now can draw lightning properly, not just as distant flashes.
Here is the full list of changes (gists.github.com); as usual nowadays, most of them are fixes or new functions for Lua scripts. And here is a quick install URL.

Thank you so much for such amazing support! Hopefully this build is stable, but the next one, v0.2.3 public with linear gamma space, will be ready very soon. And, apologies for taking that long with this one, I had to rewrite more than I anticipated (although, to be honest, I had a feeling it would be like that).
Comments
aggouri fresko
You are amazing thanks for everything man!
Sheaqwan Strachan
have you found a fix?
scode dead
which content manager should i use for these ? can you link i am newbie
Fernando Caldera
anyone know why everything is black?
Edwin Rodriguez
Can it be used on servers like No Hesi?, they work perfectly except online, I'm new
alder1
same here how do i get the preview version
Dominick Lafleur
just sub and downloaded preview still missing rain fx in csp apps?
Matthew Hourigan
drag and drop the .zip directly onto your content manager window, if you don't have content manager google that and install it, then always launch your assetto directly from that instead
Renzy
how do i install tjese
Cesar Collazo
do you have a discord server I can join?
Łukasz
i also have problem, i have all screen blue in game
Levti 420
i think i do something wrong, my game is way to dark
Lifante Js
my sol planner does not work in the game, can sameone help m?
Ryan Gerber
best dollar i ever spent
JLUC26
Strange, I haven't noticed that for me on more than 250 circuits, everything is correct with LCS. I use it more than that and it has changed the game for the better.
V8Brony
this version seems to cause the track surface on certain tracks to become... I dont know if "reflective" is the right word, or perhaps "a rip in the fabric of space". So far, noticed on Fenryr's Imola and guigui0256s' modification of Spa Francorchamps. Unfortunately, the effect is quite dramatic and hard to ignore (not to mention unpleasant to look at), so this version of CSP IMO qualifies as unplayable on affected tracks. Hopefully this can be fixed in the next version, and I'll be happy to provide additional info if needed!
Gijs Laumen
Not sure if already mentioned somewhere else, but "CSP Render stats" is broken for OpenVR rendering. Both CPU usage and GPU usage always report high percentage. (also for Oculus rendering, but at least CPU usage is correct with that one, and when mouse is placed on top graph, GPU usage is reported correctly in pop-up). Tested in CSP preview 1 and 211.
zarka
LED panels on GT3 cars are displaying weird letters since this version of CSP any ideas on a fix?
Anthony
With this light patch, I find the headlights to be not bright enough. Any way to adjust this in Pure Config?
RiZou71
Here is Peter's answer "I guess you have the newest CSP preview 0.2.3p211!? It's a bug in extraFX in that version. You must set MSAA to 2x and don't use the "Custom" video option in the resolution settings!"
MR. robot
black screen, any fix?
RiZou71
To everybody If you install CSP 0.2.3.211 and Pure 0.271 correctly, it works fine. Personally I don't see much difference between version 0.2.3.1 and 0.2.3.211 but it works. Peter Boese just released Pure 0.271 and he releases new versions almost every day to integrate LCS with Pure, even if you don't see them. Peter made a complete video for installing CSP and PURE here. https://www.youtube.com/watch?v=ULpkqTdDvHc If you follow this video perfectly, everything is ok
NoUsername
Dont know how but fixed it, I just used the base settings and made my own config not a preset
NoUsername
ANy way to fix the black screen, got it working
julian2x
downloaded it and its black as shit i cant see a single thing unplayable
J Abdul
unzip it, than go into file till see "install pure" .bat. click it and locate where you have game installed.
Nathaniel Moore
how do i install this. It says not available to install when i try
J Abdul
what am I doing wrong? I use the pure along with lights patch, with or without sol, when I launch the game, I cant see anything and the race doesn't supply fuel n other issues.
Tridixty
I have no track reflection in rain mode ? Any solution thanx
Krzysztof Piotrowicz
oh my god... how about read the post??? Ilja explains it in the post... read it!
Mashmideus
last
scott hill
where the experiemental physics box gone from quick drive?? I need to be able to enable n disable it depending what mods im using
akram games
i have a question. i just subsicribed to your patreon. Should i download everything or only the last patch ?
Zip Zap
I keep getting these errors when I load a race with certain cars (if extended physics are enabled I guess): AC\steeringsystem.cpp (30): SteeringSystem::step AC\car.cpp (564): Car::step
gbeans44
how do I get the rain particles to show up and for tracks to get wet? currently I can only hear the rain. also none of the graphics options actually change the graphics of the game. I dont know how to fix it.
James D McCullars Jr
thank you, continued amazing work!
Bruno Pinheiro
turn on msaa in AC, video settings. I was also having this problem. Seems to be a new bug.
Bufftheowl
Hasn't anyone solved this yet? some of us are getting pitch plack when starting. I've even tried manual install running CM as administrator and no luck.