First, I appreciate everyone’s cooperation with the RFC on scenery; we’ve had an ongoing discussion in our developer Slack as well as the comment section, and I don’t think I had to nuke any off-topic comments. The feedback was wide-ranging and there’s no one clear answer but it does give us a really good picture of how the scenery system is working (and isn’t working).

It’s Friday, so let’s do something completely different – her’s some show and tell from a few things people have been working on things week.

Light It Up

Alex has been recalibrating the runway and airport lights for the new photometric lighting engine. This spurred an internal discussion about how best to calibrate artificial light sources. Does the author specify the luminance of the bulb before a tinted plastic housing goes on top (this way is good if you have the bulb specs from the internet) or based on what you’d measure when the finished light is tested? (This way matches FAA specs for airport lights.)

After going back and forth a few times, our answer is “well, both”, and we have a system that now allows this, which should solve use cases for both aircraft (where often the bulb properties are known because you can look up replacement parts) and for airports (where the FAA has standards for the light’s final results).

Something to keep in mind: urban airports are quite dark compared to their surroundings. Ther are very few light sources near the runway that aren’t tightly controlled for brightness and direction. I used to fly over KLAX on a regular basis at cruise altitudes (commuting from San Diego to San Francisco for work) and KLAX was always an inky black void in the sea of lights that is the LA basin; at 34,000 feet no runway lights are pointed up at us.

Wet Surfaces

Petr and Sidney have been working on the weather surface shader, which applies water and other weather effects to surfaces. This is how we dynamically make the pavement wet when it rains.

The shader is tricky because the effect of a surface being wet changes a lot once the water forms a real puddle. When I took my kids to their swim lesson, I couldn’t help but notice the useful reference material all over the place.

A rough wet material – reflections change with angle in X-Plane and real life

Stop Writing on the Windows

I must be a dad, because I get annoyed when my kids get finger prints all over the windows when they “write” things in the frost on a cold day.

Turns out Sidney does the same thing.

What you’re seeing there is programmer art. Programmer art is when the programmers make their own texture files to test code. In this case, Sidney is testing the defrosting system for windscreens, which use a special texture to specify the pattern of defrosting. This lets artists control the defrosting effect and get faster defrosting near vents.

Another “behind the scenes” thing you can see here: that popup window is a set of internal controls for testing, debugging and developing the windscreen effects. The parts of these internal controls that are generally useful will become third party developer tools (like the texture browser and particle system editor in X-Plane 11).

Cessna In Spaaaaaaaace

Daniel rewrote the planet shader. In X-Plane 12, water is treated separately from land (so that it can be 3-d). The new planet shader shows a far view of water and a far view of land at the same time and correctly shows atmospheric scattering, which is normally pre-calculated in a special “froxel cache” for regular scenery.

If you haven’t noticed the pattern, it’s that the art team’s screenshots all tend to look good enough to ship, and the programmer’s screen shots tend to be very, very silly. In this case, the Cessna in space is pretty silly, but what we were looking for was the smooth atmospheric effects all the way out to the horizon.

Here’s one more goofy programmer screenshot:

I was calibrating the runway lights according to Alex’s spec, and typed an extra 0 into one of the internal art controls by accident. The result was this fantastic screen shot.

What you’re seeing is: the billboards for the runway environment are accidentally huge and are filling up the entire reflection cube map. The reflective underside of the Cessna wing picks up this blue lights and it looks like a rave.

About Ben Supnik

Ben is a software engineer who works on X-Plane; he spends most of his days drinking coffee and swearing at the computer -- sometimes at the same time.

34 comments on “Free Form Friday: Lights, Water, Frost

  1. Some of the v12 atmosphere renders seen out in the internet wild are showing a thin horizontal fuzz band in front of clouds that seems to be an artifact of a long-distance light scattering model along the horizon, mostly visible when the Sun is at low elevation. Is this generated by the same atmosphere shader referenced in the orbital Cessna paragraph? (actually very realistic per SpaceX/Tesla standards)

    1. No. The clouds use the froxel cache because they’re close enough to do so – the planet’s just special cuz it’s _really freakin’ big_. I’m not sure what artifacts you’ve seen but the cloud system as of this writing definitely has some kind of atmo scattering artifact.

      The problem is: clouds are semi-transparent and it’d be expensive to look up the scattering a whole bunch of times as we march the clouds. So I do some weighted summing and then come up with one proxy atmo sample that’s supposed to be “about right” for the whole thing.

      It was working decently, I thought, and then I gave Austin access to go nutty with per-voxel density and now it looks broken. So I think my summing approximation might require that the cloud density not change too quickly. (This would be surprising because the cloud density changes for non-Austin reasons in the engine all the time.). Suffice it to say, it’s on my bug list.

      1. Ah, I understand your description context now.


        The fuzz band I’m referring to is the dark grey region tracing the horizon line. It appears to be forward of the clouds in spots. I’ve seen it in other V12 renders, sometimes much fainter. Pretty sure I’ve also seen it or its cousin in front of mountains in V11.

        Do the weighted sum magimatics end up looking like a linear gradient through the voxel volume? Maybe go bi-linear or quadratic? I can envision a weighted sum output might look too “discretized” or binned vs. neighbors if the overall voxel density (not per-voxel den) is too low…

        Don’t use NOAA as the “whipping boy” for “Austin reasons”! 🙂

  2. Looks interesting, but one thing never mentioned is Performance.
    For XP12 to be a “Go” it would be good to hear about 1) Engine optimizations 2) Multi threading improvements 3) Performance comparisons 11 12. And anything else relevant. Has the horrible reflections code been fixed in 12? Plans for procedural coding ie worldwide grass and rock detail ? Localized terrain mesh editing / tools? A proper scenery editor?
    The real substance is missing from these screenshot tidbits.


  3. Can’t wait to see all of this on my PC!

    Will there also be changes to runway lighting in low light conditions? E.g. when it’s overcast or raining. It’s often like that in the UK, where I live, but I often have difficulty identifying the runway, especially in VR.

  4. I spent at least 100 hours fine tweaking the lights in current X-Plane version. Tweaking, adapting and sometimes disregarding Sergio and Kyler’s old code to make it more realistic. Results have been some different versions all found on, but in general for the better. I have come to know from community feedback as well as study of user preferences, that users preception of real world lighting is different, mine included. I belive the most common misinterpretation is that users interpret images they see online wrong. Wrong white balance when it comes to night lighting, wrong light emitting strengh etc. All in all, that is why perception results in different render of light. But also the lack of understanding of which light values do what in light.txt. Frankly I have seen alot of strange output.. Not of course saying that mine is best or most realistic, but it works for me.. Bottom line is this, a good combination between performance and brightness mixed with color balance.. Too much light impact the performance (cannot say this enough) a great deal.. In the end, I wish for a more procedural light model with ray casting, omni directional light where appropriate and light effects. Most of all, lights that “CANNOT BE TAMPERED WITH” is for sure the better option for the non-developing usage.

    1. Clearly you need a lot of help. After 100 hours of hacking I suggest you read the manuals and maybe some online tutorials. Also there are online forums where you can post your questions. Good luck.

  5. I like to see these new art controls! I would like to see I the new lighting and clouds model is working with an overcast situation: right now I’ve seen many screens depicting thunderstorms with broken clouds and a lot of sun lights coming from the horizon, which is a situation which is not very common in reality, as even with broken clouds, when it’s raining the humidity and the rain most of the time dim the sun light.

  6. What about a color channel for baked ambient occlusion in the NML file or even a separate texture file for it?
    Md Alavi

  7. Water on the runway is nice to see, but will it affect local aqua-planing (unsure that word exists in English)?
    If so, I’m still wondering what is so hard in detecting object collisions (on ground at least). Taxiing through another plane isn’t very realistic…
    Don’t get lost with details when the overall picture is wrong.

  8. Those articles separate you from the rest of the software companies. With this inside knowledge we feel like being part of the team.

    It’s not plain communication and entertainment, it also will makes it easier for us to wait for XP12 (because we see that you’re not sitting at the pool and having a beer all the time).

    And it keeps the crocodiles calm 😉

    10 of 10 point !

  9. I love where you guys are going with everything. The one question I have for the team is whether it will be possible to model ice covered lakes. The ability to land a Twin Otter on skis would be phenomenal.

  10. All of these things sound impressive. The one thing that will always keep xplane behind msfs is the use of bing maps. I much prefer xplane for realism feel in its aircraft. If xplane had the realism of maps and scenery it could never be surpassed. Maybe one day.

  11. Have you considered using the (relatively) new Runway Surface Condition Codes to define breaking action etc.? Would be a nice a great replacement to the old dataref, which only allows for 3 different conditions.

  12. The wet surfaces look amazing!
    I am wondering if the graphics engine implement support form AMDs FSR? I don’t seem to be able to find references to this in your reveal presentations – or I missed it.
    I must tell you, I am thoroughly looking forward to XP12 after having enjoyed XP since v5 or so 🙂

    1. We don’t support FSR right now. Maybe in the future – generally I’m a fan of the AMD middleware libs – we’ve used FXAA for a long time and use their single pass downsample (SPD) shader now.

  13. Ben,
    You say “I’m a fan of the AMD middleware libs”. Is this suggesting I’m better off with an AMD machine vs Intel?

    1. Not at all. We’re referring to AMD GPU code (E.g. from GPUOpen) – I like that it’s fully open source and easy to integrate and just useful. But it runs on AMD and NV hardware – seems to work well on both.

  14. Just a quick comment to support you and to say thanks for your work, and to keep going!

    I really enjoy X-Plane, especially hooking it up to SkyDemon on my iPad and simulating the real-world VFR flights I take around Cambridge, England as a PPL.

  15. All I can say is.. WoW!!! Thank you sharing, XP12, very impressive!!! And thanks to the entire XP12 Team… greatly appreciated what you are doing and achieving!!! Two comments…the lighting is of high interest, will this be applied to all lighting so there is a balance across the entire field of view?.. or only the airfield lighting? I see inconsistency among flightsim products making some lighting stand out more than others, difficulty seeing the lighting when it should be clearly distinguishable, and how the lighting changes with distance. If I understand correctly, Photometric Lighting will handle a good portion of this? The water reflections are stunning! The impact on performance and hardware requirements come to mind due to the resources required to generate the reflected image.

  16. Very much appreciate all the hard work the team is putting into the new version of the sim, it really looks absolutely stunning. I’m just curious as to weather both taxi and runway lights(TDZL , RCLS) will be lit at all times during the day , regardless of the ambulant lighting conditions, and have controls separate to those of the main apron /ramp lights?

    1. Apron lights and airfield lights are already on separate schedules – we’ve had that for a long time. Airport buildings and parking lots go by time of day but the airfield lights up when it’s bad weather too.

  17. As a IRL helipilot and with ambitions to use my flightsimulator as a “working tool” to keep my skills at a high level I´ve been using X-plane with both a full scale control-/panel-setup and VR-googles since quite some time now. Mostly because of the flight model for helicopters that, in cope with my hardware, really feels like handling my IRL heli but also the fact that I have the ability to recognize where I am, no matter where, airports, landmarks etc. To be able to go through “upcoming flights in advance” to feel a little more prepared when it´s actually happends and so on is a greate help. All thanks to all you dedicated people at Laminar and 3:rd partie addon creators that want X-plane to be something beyond a game, to be something that´s actually useful for IRL pilots.
    Only isiues so far has been weather changes, the fact that we only fly during summer and that Xplane now seem a little “cartoon” compered to other sims (that really fails on there flight models and/or the fact that they use a fictionworld to fly in). With these updates you showed us here all this is history!! Can´t thank you enough for your will to really keep Xplane at the edge, the fact that you actually envolve ordinary users for development, ideas and feedback. If an update or something similar doesn´t turns out the way it´s supposed to you are defenitly not the author that just notice this and lean back, you start at ones to solve the isiue and sometimes even draw updates back that doesn´t work, all with great feedback why things act like they do. So….
    Keep up the excelent work you all do!!! Will be greate to see all this in Xplane 12.

  18. Xplane 12 hypes me a lot. Got RTX3050 laptop with 11th gen i5 processor but its sad that I can’t max my xplane11 settings for it to not drop below 20FPS (since I have heavu scenery addon for clouds) and slow down the sim. I wonder about FPS optimization and much much better default scenery compared to xplane11. And my hopes are so high for you guys. Boost Xplane and watch people enjoying the results of your hard works! Wish you the best.

  19. Accidentally I had shot a few photos during a night flight as a passenger: One is at high altitude over a large city (probably Spain or France), and the other is during approach to EDDM. They are not perfect, but maybe an inspiration.

Comments are closed.