Live for Speed, Graphics Progress Report: Lighting research
Our previous progress report was about the Kyoto updates and the new lighting system. Since then, Scawen has done more work on the lighting which may be interesting for some readers. Eric continued with Kyoto for some time. He has now moved onto South City, which isn't yet ready to show but we can show you some more pictures from Kyoto.
Originally the plan was to minimally update the existing track areas to make them work well with the new lighting and shadows. But some of the tracks were very old and Eric wanted to do extensive updates to bring them up to a more modern standard. It takes a long time to update the tracks, scenery and buildings, so Scawen has had the chance to do a lot of updates on the program side. We described in our April report the new lighting system that changes in real time from day to night.
Sometimes there is a lot of technical work do be done, which is not all that interesting to describe. Many readers may hope for a long list of cool things that we have done but the reality, most of the time, is a lot of research and experimentation for small steps forward. So for this month's report there are some technical descriptions, with random screenshots of Kyoto between paragraphs.
We mentioned in the previous report some experiments with a realtime generated sky, which is the best way to allow day to night transitions. The sky is generated by a system created by Lukas Hosek and Alexander Wilkie. The sky itself is an important part of lighting, especially in shadows where surfaces are not lit directly by the sun. The sky can produce quite different light colour and intensity depending on the direction a surface is facing. In older versions of LFS the sky light was considered to be a single colour but we now use a method called spherical harmonics, described by Ravi Ramamoorthi and Pat Hanrahan. This produces diffuse lighting that is different depending on the direction.
The Hosek and Wilkie sky system can also produce the sun lighting colour depending on the sun's position in the sky. When the more realistic lighting values were used, we found the solid surfaces in game appeared too dark. Researching albedo values in the real world and comparing them with LFS we were able to apply a suitable adjustment, bringing us one step closer to a physically based lighting system. We still need to work on the night system, allowing some lights to be on all the time (e.g. pit garages) while other lights come on only in the night (e.g. flood lights).
We mentioned the problem of exposure in the previous report. When lighting changes in a realistic way there can be very bright or dark scenes so the exposure sometimes needs to be adjusted, just as it does with a real camera. Also there is the issue of very bright and dark areas within a single image. Part of the solution can be to use a high dynamic range (HDR) backbuffer. It uses more memory but allows for very dark or bright pixels to be represented accurately. To present the HDR image to a monitor, which only has a limited range, some kind of tone mapping must be used. You can read a bit more on this page by John Hable. We can now select an HDR backbuffer and tone mapping options in our development version. They have not been used in these screenshots but they may become more important as the night system improves.
Planned development on lighting includes a system to produce clouds in the generated skies and better night support including the brightness of artificial lights and automatic exposure control. Other development topics include getting the new tyre physics up to a good standard for release, and hopefully a system to allow the physics and graphics to run on different threads, making use of the multiple CPU cores.
Finally here's another 24 hour timelapse video of Rockingham, this time a bit longer:
We hope that was interesting for some readers, though it was a bit technical!
Please make sure you check out our earlier reports which show the changes on the other tracks.
- LFS Developers
Further reading: Graphics Progress Report: South City