Laminar Follows Up on X-Plane 12 Development with Lighting & Sky Explanation
One of Laminar’s main leads, Ben Supnik, has published a new post on their developer blog, detailing the technicalities behind the “photometric” lighting engine that will be introduced in the upcoming X-Plane 12 simulator.
Starting the post, the developer confirms that X-Plane 12 moves to a photometric renderer which improves visual fidelity through rendering light with real world light levels specified in real physical units (nits). The move to photometric aims to better harness the largely increased capabilities of modern graphics cards.
This is in stark contrast to the current engine which is a traditional “low dynamic range” renderer that uses values ranging from 0 to 255 (as monitors and technology at the time were rather limited in capability), specifically, Supnik refers to the antiquated sky and light colour rendering that X-Plane has used in so long which uses a set of bitmap textures to render (multiple weather plugin developers have attempted to circumvent this: e.g. Enhanced Skyscapes and xEnviro though with varying levels of success).
By rewriting the lighting engine to use real world metrics, namely, candela per meter squared (cd/m^2), the simulator is able to replicate a much wider range of lighting conditions. With this, Supnik explains that “X-Plane 12’s rendering pipeline is entirely HDR, from start to finish”. The team has modelled the camera behaviour that acts as “your eyes” with an exposure value and created a tonemapper to balance the exposure levels to contain more detail and bright colors onto the screen at the same time. (tonemapping is a technique that maps one set of colors to another to approximate the appearance of HDR images in a medium that has a limited dynamic range - e.g. most monitors).
"X-Plane 12’s rendering pipeline is entirely HDR, from start to finish, using 16-bit floating point encoding to hold a much wider dynamic range of luminance."
As a side note, photometric rendering is nothing new in the world of computer graphics, which remains largely dependent on the interpretation of the coder/artist. Supnik explains that the art team took a bit of artistic liberty, parting with realism for the sake of legibility and aesthetics; exposure levels are driven by time, weather conditions, and an auto-exposure mechanism that makes the camera becomes more sensitive in the dark (to help read panels) and less sensitive in stark lighting conditions (to avoid being blinded).
Moving back to the sky rendering, the new lighting rewrite ties it all in with ditching the aforementioned bitmap sky textures for a technical implementation that follows the rules of light; factors such as the composition of the atmosphere, viewing angle, and the brightness of the sun make up for the appearance of the sky.
“The sky is blue for a reason (oxygen molecules) and we get a blue sky by simulating that scattering effect.”
Since it is no longer constrained by the flat texture-based sky of yesteryear, the new implementation works in all viewing angles and location, so the blue sky that was rendered for example, affects the general tinting of the scene (which in this case, the familiar “blue-ish” tone when looking down at earth from the air would be rendered).
For add-on developers, they can greatly benefit from this implementation by simplifying the process of adding lighting to their products (scenery and aircraft), instead of approximating by carefully adjusting the lighting intensity with unfamiliar values - the use of real world units would enable developers to simply look up the actual value of a light component in the real world counterpart (for example, say, the real LCD displays in the flightdeck emits 500 nits of brightness - the developer is able to simply put the same “500” nits value as opposed to estimating what “0.954” translate to in real life).
Needless to say, the introduction of the new lighting engine and sky would improve development processes and the simulator’s rendering would more closely align to the real world. That’s it for the development post, the video preview in the writeup was showcased earlier back in June before FSExpo and X-Plane 12’s unveiling. As per usual, Threshold would stay in the loop to keep you updated. If you’d like to check the original blog, drop by the original developer post.
Share this page
COMMENT ADVISORY:
Threshold encourages informed discussion and debate - though this can only happen if all commenters remain civil when voicing their opinions.