Prepar3D v2.2 Breaks Through – Now Available for Download

Today Announces the Release of the Second Update of Prepar3D v2

Updates to Prepar3D v2.2 are available in both a patch to an existing v2.1 installation, or as a new installer from your Purchased Downloads page. If you are a current Prepar3D v2 user, as with all v2 updates, there is no charge to upgrade.  Please be sure to read the download and installation instructions so that you have a seamless upgrade and update process.

The Lockheed Martin Prepar3D team loves hearing about your experiences with Prepar3D at our forums. The forums also give us an opportunity to listen to your feedback as we continue Prepar3D development.  We’ve partnered with our forum users and with several 3rd party solution developers to continue to bring added features, enhancements, optimizations as well as additional backwards compatibility, bug fixes and additional stability to Prepar3D v2.

“Prepar3D V2.2 is a milestone release. Apart from the many bug fixes and performance improvements particularly around autogen, the new cloud shadow rendering system finally realizes our vision for a simulator platform that creates truly believable and immersive environments. We are in the final development stages of a number of airports which specifically take advantage of 2.2 and will truly shine. Orbx has fully supported and embraced Prepar3D since its announcement and we appreciate the close ongoing relationship that we have with LM and the development team. We see only one forward path for our customers and that is P3D, undoubtedly.”

-John Venema, Orbx CEO

We hope you find Prepar3D v2.2 continues to bring you the most immersive learning, simulation and training platform available.  We are excited to bring this patch and update to Prepar3D v2 to the community today, and have already begun development on several new and exciting features for Prepar3D v2.3.  Keep an eye out on for new developer blogs in the future outlying the new features coming in v2.3.

Below is an exclusive screenshot gallery that shows some of the new features of v2.2 leveraged by the Orbx development team:

Below are also two videos from one of our beta testers Rob Ainscough showing extended flights and the enhancements featured in v2.2 paired with several Prepar3D development ecosystem addons:

A full transcript of what’s new in v2.2 is available for reference below:

Requested Features and Enhancements Implemented in Prepar3D v2.2

At a very high level, the Prepar3D v2.2 update has the following updates and addresses the following issues:

  • Autogen out of memory crashes
  • The inclusion of the v2.1 panels ‘hotfix’ that reverted changes to the ContentErrorLogging system that caused previously compatible aircraft to not work
  • New cloud shadows feature as well as several new shadow system optimizations
  • A new sample for the Prepar3D Development Kit (PDK) API – Oculus Rift integration
  • Native radar support for Prepar3D developers
  • A redesign and refactor of the legacy Flight Recorder system
  • A new FlightInstructor mode for SimDirector, as well as several other SimDirector enhancements
  • Several other community and developer issues resolved

Autogen Re-Architecture

The instancing system for trees was given a massive overhaul to improve memory usage, to increase performance, and to reduce stutters. The system (VAS) memory footprint per tree was reduced from 276 bytes to 16 bytes (that is a 17x reduction in system memory per tree). Some of the work previously done each frame was completely eliminated while other work was reduced or moved onto background threads and the GPU (graphics card). Visually, trees can now LOD (Level of Detail) in progressively while still scaling in to prevent popping. Random rotation of trees was also fixed, which means that trees will be more varied looking and will again load in at the full density near the camera. A max autogen default flight has had it’s system memory reduced by over 550 megabytes!

Cloud Shadows and Shadow System Improvements

The biggest challenge we faced in shadow mapping the clouds is similar to the challenges we face with ground shadows. It stems from Prepar3D having very large viewing distances and the requirement to cover that view distance with enough shadow map texture coverage. It becomes a balancing act of performance and memory sacrifices to achieve acceptable visual fidelity. One big challenge of clouds in particular is clouds were not created with shadow mapping in mind and they rely on being blended into the image without writing depth. However, most modern shadow mapping techniques rely on the depth information to resolve if an object at a given depth is in shadow or not inside the pixel shader. These techniques require bounding volumes to be created around shadow receivers that project the range of these depth values between zero and one in DirectX applications. This could not be done easily for clouds, due to optimizations that are being done for the ground shadows bounding volumes, without losing quality on the ground shadows. So we’re required to use a multiple channel resource to determine things like the depth and alpha of the current cloud per pixel inside the bounding volumes. We’ve found ways of reducing ground shadow only memory and having cloud shadows on will be equivalent memory usage to before v2.2. Cloud shadows do come with increased GPU work, which comes from having to render the clouds into multiple shadow maps and evaluating that information per pixel for the scene. Because of this, cloud shadows may cause a FPS hit on lower end graphics cards, which may already be pixel shader bound, but should perform well on most modern graphics cards.

A New Recording and Playback System

The new recording and playback system was developed around the idea of giving instructors, developers, and users the power to record and playback data that is relevant to their training scenario. The goal was to convert the traditional flight recorder into a tool that could be used as an after action review of training scenarios. With that goal in mind, the flight recorder was overhauled and updated. It is now a full simulation recorder. The new system will record and playback more capabilities and interactions; no longer is it just the user’s flight position. For instance, the new record and playback system has support for mission features, air traffic, boats, ground vehicles, weather, weapons, and a swath of other simulation capabilities. The user will be able to specify what simulation variables, along with what gauge variables, to record and playback. A new playback control window has been developed that displays relevant recording information. It allows users to play/pause, change simulation speed, and select bookmarks. Bookmarks are a completely new feature that allows seeking to a specific location of a recording. They can be inserted in recordings by creating checkpoints (AutoSaving) in missions.

Oculus Rift Development Kit Integration SDK Code Sample

Prepar3D v2 introduced a very powerful interface for developers, the Prepar3D Development Kit (PDK) API. The Prepar3D Development Kit (PDK) API is a service provider for obtaining services to the Prepar3D platform. The PDK functions similarly to SimConnect but is tied into Prepar3D at a lower level, which allows better performance and more direct interaction. Unlike SimConnect, there is not a network interface for PDK plugins as they must be developed as in-process dlls. Data can be injected into and received from the simulation by interfacing with a user-written .dll. Uses for the PDK include creating custom SimObjects, adding custom textures and post-processes, and modifying cameras. We have added a new sample to the SDK to show the power of the new PDK API by integrating Oculus Rift support through the new PDK. This example and code sample is available in the v2.2 SDK and allows those users with Oculus Rift Development Kits to use them with Prepar3D v2.2.

Native Radar Support for Content Developers

Prepar3D now provides an air-to-ground radar simulation and visualization. Because every radar system is different, it is provided as a highly configurable service which can be controlled via C++ plugins and XML gauges. Some examples of controllable parameters are Range, Sweep Angle, Sweep Rate, Zoom Level, Image, and Data resolution. Some of the advanced capabilities of the Prepar3D radar include accurate radar shadows, far-shore-enhancement, and Doppler-beam-sharpening. Also, we developed the radar service entirely through our SDK to showcase the power and flexibility that 3rd party developers have when developing content specifically for Prepar3D v2.

A New FlightInstructor Mode for SimDirector

With the SimDirector mission creation tool introduced in Prepar3D v2, instructors and trainees both could rapidly create rich training content faster than ever in Prepar3D. The virtual instructor modes allowed the creation of in-cockpit learning and training scenarios, but it was hard to create graded maneuvers and graded flight segments. SimDirector’s new FlightInstructor mode now makes it easier than ever to rapidly create graded flight segments, so that instructors and trainees can create, grade, and debrief flight segments and flying maneuvers in real-time. If you haven’t looked into the extremely powerful, yet easy to use, SimDirector mission planning tool in Prepar3D v2 yet, access SimDirector from your Flights menu to see what you’ve been missing out on. SimDirector is included in every copy of Prepar3D v2.

Other issues resolved:

  • Resolved an issue where force feedback joysticks would not continue to rumble after an initial vehicle crash
  • Resolved a backwards compatibility issue where DTX 5 vegetation would flicker in several Orbx addons
  • Resolved a backwards compatibility issue with the airport lighting in Aerosoft airport addons
  • Resolved an issue where aircraft labels were not being drawn at the distance that was expected
  • Resolved an issue where ground visibility was limited to 50 miles
  • Resolved a crash where constantly spamming the pause and unpause in certain addon aircraft could crash the Prepar3D sound system
  • Resolved an issue where AI aircraft could swap texture sets
  • Resolved an issue certain stock airports were not rendering their taxiways
  • Resolved an issue where the modeling tools would not respond to EventID and CallbackJumpDragging tags
  • Threaded out several jobs to help prevent stutters in rendering the autogen systems
  • Resolved an issue where trees would render in and out with the camera rotating
  • Resolved a legacy issue with setting brake SimVars via SimConnect would not work as documented
  • Resolved an issue where render to texture views were not scaling correctly in 2D panels
  • Resolved an issue where IR views showed the sun as large squares
  • Disabled AA on clouds, particles and faded edges
  • Added additional sliders to the lighting settings page to independently control terrain and shadow draw distances

Wesley Bard
Software Manager, Prepar3D Development Team