Post-processing effects are full-screen GPU image filters that are applied after 3D rendering has completed. They are somewhat analogous to taking a screenshot of the final image, then loading up Photoshop and applying image filters, except that a certain amount of additional data may be present, such as the scene's depth buffer, environmental settings, etc.
There are any number of possible post-processing effects. Trainz ships with a number of effects enabled by default and offers a settings slider to control quality vs performance. Trainz also includes a number of specialty effects which are not used by the game in its default configuration, but which may be temporarily enabled by the user for the purpose of taking customized screenshots or video.
Effects Used by the Game
The following effects are used by the game. Some effects may be weakened or disabled at lower detail settings.
Tone mapping converts the internal HDR float-point color buffer into a format which can be displayed on a regular screen without obvious undersaturation, over-saturation, or clipping.
Depth of Field
The depth of field effect introduces two separate distance-based blurs:
- A background effect, where distant objects are slightly blurred to simulate atmospheric haze.
- A foreground effect, where near-camera objects are heavily blurred. This is a semi-realistic effect which both simulates typical lens operation and also helps avoid the low-resolution effect when textures are displayed closer to the camera than appropriate.
Both outcomes also enhance depth perception in the scene, helping the user's eye to distinguish whether an object is in the extreme foreground, the middle distance, or at far distance.
Screen-Space Ambient Occlusion provides an inaccurate but somewhat convincing estimate of per-pixel ambient occlusion, helping to enhance the lighting quality in the scene. This effect is entirely unrelated to ambient occlusion configured in the individual meshes. The result is slightly softer-looking lighting, with additional depth and geometry cues.
A subtle bloom effect simulates the effect of very brightly lit surface on the eye.
Sun shafts (sometimes called "god rays") help provide lighting cues in the scene.
While the user can take temporary manual control of the individual post-processing settings, Trainz does not currently offer a method of permanently configuring the post-processing settings on a per-session basis. This is deliberate; the effects are automatically tuned for different scenarios and are updated from time to time to suit the requirements of the rendering pipeline. It is expected that additional specific settings will be opened to permanent editing in the future (for example: perhaps a session rule which temporarily enables the sepia filter during a session's introductory sequence) but it is not likely that the full settings will ever be offered as anything more than a temporary override.