MattR
Active member
I'd like to modify orbiter's exhaust particle systems to allow external graphics clients to render more realistic exhaust effects.
Currently, vehicles exhausts in orbiter are typically defined by two separate volumes: one for fire, and one for contrail (the cloudy vapor trail that looks like smoke). I think the existing approach is suboptimal because in real-life the exhaust gasses are one continuous volume, with the visual difference between fire and contrail being largely driven by the temperature of the particles within the volume. In modern VFX rendering, both fire and vapor/smoke are are typically modeled as a single volume or particle system, and the voxels/particles are tagged with temperate data which evolves over time. The renderer uses this temperature data to lookup a blackbody radiation curve to calculate the amount of light emitted by that voxel/particle.
Here's a screenshot from the Skybolt graphics client (left and middle) using orbiter's current approach of separate fire and contrail particle systems, vs a photo of the real Shuttle (right):

As you can see, the result is unrealistic because:
To achieve a more realistic result like the image on the right, I'd like to see Orbiter's particle systems improved by:
What do people think of this proposal?
Currently, vehicles exhausts in orbiter are typically defined by two separate volumes: one for fire, and one for contrail (the cloudy vapor trail that looks like smoke). I think the existing approach is suboptimal because in real-life the exhaust gasses are one continuous volume, with the visual difference between fire and contrail being largely driven by the temperature of the particles within the volume. In modern VFX rendering, both fire and vapor/smoke are are typically modeled as a single volume or particle system, and the voxels/particles are tagged with temperate data which evolves over time. The renderer uses this temperature data to lookup a blackbody radiation curve to calculate the amount of light emitted by that voxel/particle.
Here's a screenshot from the Skybolt graphics client (left and middle) using orbiter's current approach of separate fire and contrail particle systems, vs a photo of the real Shuttle (right):

As you can see, the result is unrealistic because:
- The contrail occludes the fire. We could work around this by fading in the contrail with distance, however then we would lose a considerable amount of fire volume, since the underlying fire volume shape is far smaller than the contrail shape. It's also inefficient to render two overlapping systems for what could be more realistically represented as one system.
- The contrail begins at far too low a temperature. In the real photo we see a continuum of particles of exhaust gasses at varying temperatures. Potentially we could just treat the start of the contrail system as fire, however this would then make the existing fire system redundant, and orbiter provides no way to know how 'hot' a particular system should be.
To achieve a more realistic result like the image on the right, I'd like to see Orbiter's particle systems improved by:
- Replace the two particle systems with one particle system tuned to produce an exhaust shape that includes both the fire and contrail regions.
- Provide additional metadata for each particle system to allow graphics clients to know about the fire parts of the particle system. I suggest this would be best achieved with new properties for 'emission temperature' and 'heat transfer coefficient' (how quickly the particles cool down over time)
What do people think of this proposal?
Last edited: