Poor Tom…he sends me his work in progress (at my demand) so I can more easily investigate sim bugs and I turn around and post it to the developer blog.

Tom is working on the new airport scenery library.  This is something that Sergio had started to work toward with version 9 (you’ll note that in version 9, a lot of the custom elements from LOWI are actually in the library), but with version 10, the goal is to have a complete set of library art assets.  This will facilitate:

  • Casual authors creating detail at local airports without having to create their own 3-d models.
  • The X-Plane community to share default airport structures in an open source database, the way we already do for taxiway layouts.

The spill lighting in these pictures comes from version 10’s global illumination – there is a light source at the top of each light pole, and it casts light down onto whatever happens to be below.  There are a few reasons why we think this is going to be a great feature for scenery creation:

  • It’s really easy to use.  A light source is part of an OBJ (like light billboards now – in fact, the light source is added to an OBJ using LIGHT_PARAM or LIGHT_NAME) so adding lights is as simple as placing objects in OE or WED.
  • Since the lights simply throw spill, you don’t have to worry about whether the light is aimed at an object that you can then “draw” lighting onto.
  • The lights are fully dynamic – if yo animate the object, the light moves.  If you drive your airplane under the light, the airplane is lit up.

With X-Plane 9 (or any rendering engine that can’t do global lighting) you have to “bake” lighting in order to create night effects.  In other words, you have to draw the light effect onto the textures the light shines onto.  With real lights, you don’t have to set up any baking or complex texturing layout, you just place the light and you’re done.

Not having to bake is good for plausibility.  In real life, light shines all over the place – in the case of the fuel depot picture, the light illuminates not only the asphalt road, but also the grass nearby.  When creating LIT textures, the author is forced to constrain light effects to parts of the scenery that actually have LIT textures.  (We had to do this for X-Plane 9 – the lights on the highway don’t ever illuminate the ground nearby, because we can only light the LIT texture.)  Global lights give you spill onto all sorts of nearby surfaces for free, without setting up a ton of complex baked textures.

(The global lights do not cast shadows – only the sun does that.  The shadow below the airplane at night is a bug – more on that tomorrow.)

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.

25 comments on “Global Lighting – What is it Good For?

  1. I’m actually kind of curious, while your explaining that bug can you possibly explain why global lighting doesn’t cast shadows? I’m assuming it has something to do with overhead… I’m not gripping, mind you, I’m just curious.

    1. Yep, exactly right – performance. The sim would have to prepare the shadow maps on a per-light basis. That gets very expensive very fast.

      We may someday have limited shadows on a few really important lights (like the airport landing lights) – heck, we might even have them before we ship, although I’ve made no efforts toward having it now.

      But the number of shadow casting lights u can have is not even on the same planet as the number of global lights you can have. It’s a limitation of shadow mapping.

  2. Fantastic post.
    I really like the direction this is going in. Mainly cause baking textures is annoying and time consuming.

    I am really enjoying these posts you have been putting up recently. keep it up. love to read em.

  3. Alright, if I am following you, Ben, global lighting in xp10 should also benefit air to air night refueling. I assume that fighter acf developers will now be able to add a “headlamp” to their fuel probe obj which will paint the tanker’s fuel drogue in light.
    Or am I getting ahead of myself(yourself)?

  4. Ehm sorry in advance… I’m sure this question has been asked (and answered) before… 🙂 But will global lighting (namely landing lights) interact with clouds?

    1. Unknown – probably not, but the landing lights might be an exception. We do have lightning affecting clouds. But … clouds + lighting is very difficult – it doesn’t run on the normal ‘global lighting’ pathway, because clouds aren’t solid things.

  5. For shadows, could I apply an animated .lit??

    Just joking..Looking fantasic guys! This feature is my most anticipated, since I love the night effects of xplane BEFORE all this happens. The possibilities for light animation of scenery are endless, this’ll be fun, plus save time. Working on a big idea already, although now I’m thinking of a full on prison with searchlights!

    Serious question- will colour of lights be selectable?

  6. It looks excellent, but what will happen to all the scenery made to LIT textures?, will there be conflicts in XP10 with Global Illumination, some like LIMC use a huge amount…
    would the amalgamation of WED and the OE keep it all in one package in the fact you do everything in one program be better for the scenery library….

    1. 1. Lit textures will still work, they’re definitely not going away! They’re still the recommended way to create something that illuminates itself!
      2. If you shine a global light on a surface with a _LIT texture, you get the sum of the lighting – which can be desirable sometimes, e.g. if you have an external spot shining on the side of an airport – you might use a _LIT texture to make the interior as seen through the windows look bright, but let the global light light up the exterior.
      3. You can use conditionals to turn off or change LIT textures if you want to remove your _LIT textures only when global lighting is enabled in rendering settings – tomorrow’s post will cover that.

      1. I thought it was because you were under the impression you were piloting a Cessna 172 (check out the screenshot filename). 😮

  7. Are we at some point going to have the “plausible world airport buildings” such that X-Plane will auto-place buildings on airports?

    1. X-Plane is not going to auto-place airport buildings, ever. Just like X-Plane does not auto-place scenery buildings now. All of X-Plane’s use of scenery elements are driven by _some_ kind of pre-computation to help ensure the placements are sane.

      I think we will seed _some_ airports with building placements by pre-generating some placements. I don’t know what set of airports we will do this for. The airports that are strictly just a runway with auto-pre-generated taxiways, those are a strong candidate. For custom layouts, I don’t know – it’s hard to put a building and know it’s not in a stupid location.

      In the long term we want the buildings to be collected-data-driven, just like taxi layouts.

      1. Hi Ben,
        Will there be any sort of vetting of these user submisions to the communal airport buildings resource? I can’t imagine Robin has the time to inspect all the apt-dat submissions too closely but there is at least the expectation that the submitter has used the 2d layout of the airport chart or aerial pcitures as reference. But plonking down 3d buildings has alot more scope for users to submit junk or outright fictional representations. At least now, with distribution as distinct scenery packages, the end-user has the option to pick and choose what to install but a global apt3d.dat (or whatever) doesn’t offer that choice.

        Will there be a seperate exclusion type for these airport buildings or will the obj-exclusion handle these too?

        1. Re: coordination mechanisms for sharing 3-d ‘stuff’: we don’t know yet. At this point my main focus is on having a system _capable_ of sharing. Once we ship such a system, we’ll work out the logistics of actual sharing.

          Naively, it seems to me that with proper automation, the act of vetting could be distributed even more easily than the act of creation. That is – what we need is a relatively automated way for users to submit a problem ticket for a given version of an airport.

        2. I try to review almost every apt.dat update in the sim before I publish the data. Usually I just find minor ‘quality’ issues (which helps me maintain a subjective grading for each regular submitter!). It’s rare for me to totally reject a submission – if so, it’s usually because multiple users chose to work on the same airport in the same month. I spend more time correcting nav-aid irregularities (eg. mis-aligned ILSs) than apt.dat issues.

          If we add objects to this mix, then the review process will become more complex & subjective. There may be no single ‘best’ version of an airport (eg. do you want lots of detail … or higher frame rate?).

  8. Hi Ben
    I noticed the blue specular shine on left sides of the fuel tanks in the first image. Is that from the moon, or a light that is out of frame?

  9. Wow.
    The lightings are fantastic! I’m looking forward when X-Plane 10 is ready to release!

    Now an off-topic wish:
    Am I the only one that is lacking a follow-me car in front of the plane helping me to find the correct gate and ground personnel helping me parking correctly the plane at gate?

  10. Pingback: Anonymous

Comments are closed.