E2

From TrainzOnline
Jump to: navigation, search

E2 is the N3V Games-internal name of the game engine used for Trainz from TANE (~2014) onwards. It replaces the Auran Jet engine used in previous editions of the Trainz product family, which had a history starting in roughly the year 2000.

E2 is an entirely new rendering engine designed solely for the Trainz simulation requirements and for modern and future hardware capabilities. Whereas Jet was intended as a general-purpose game engine first, and to support Trainz secondly, E2 is designed primarily for Trainz and lacks many of the Jet features that were intended for purposes other than Trainz. It is specifically a renderer, and does not offer resource management, file system abstractions, sound or user interface, etc.

E2 does not attempt to emulate the Jet engine. Trainz provides asset-level compatibility where necessary by reading from the legacy Jet file formats either at asset import time (eg. for .texture.txt files) or at runtime (eg. for .IM mesh files and .KIN animation files).


New features provided by E2 include:

  • An architecture based around modern GPU techniques (Jet predated shaders).
  • Per-pixel lighting.
  • Hardware instancing.
  • Realtime depth-mapped shadow generation (Jet offered stencil shadows only).
  • Pervasive multithreading.
  • C++11 support.
  • Post-processing support.
  • HDR rendering.
Personal tools