Monthly Archives: October 2013

Prepar3D v2.0 Developer Blog – SimDirector
October 15, 2013

SD Icon 

 Becoming a SimDirector: Scenario and Mission Generation

Prepar3D needed a new way to plan, design, and implement training and learning scenarios.  For that reason we created SimDirector, a complete mission and learning scenario tool suite that will ship free in all versions of the Prepar3D v2 SDK.  The main goal for SimDirector was to bring more refinement to editing the Prepar3D mission world and to help make it more intuitive and easier to create structured learning and training experiences. Prepar3D now meets it’s ‘learning missions in minutes’ goal we set out for from day one.

With SimDirector users can now rapidly and easily create and share structured learning experiences.  Teachers, instructors and students can easily create lessons, instructions, flight scenarios, all with dynamic feedback to the user.  Developers of complex addons can now easily record and save virtual instructor lessons with their aircraft to show their users how to operate the aircraft or perform complex procedures, instead of having to just refer them to flight manuals or pre-flight checklists.  There are now many new exciting opportunities to make this more interactive.

SimDirector has three distinct modes that give you all the control and insight you’ll need to create incredible missions. The three modes, which are explained below, are:

  World Editor World Editor is used to place the required world objects, define mission logic, and create the framework and core of the mission.
  Virtual Instructor Virtual Instructor is used to create detailed instruction for instrumentation and create sessions that will interact with a virtual cockpit.
Mission Preview Mission Preview allows the mission to be played through while monitoring the simulation and the logic for success; essentially giving the ability to debug missions.


Directing in World Editor Mode

SimDirector - World Editor Mode

SimDirector – World Editor Mode

Above you’ll see a screenshot of the default layout of World Editor Mode.  All of the windows are configurable, but the ones we open by default tell a good story of how much easier it is to create learning experiences with SimDirector in Prepar3D v2.

Along the left side you see the new Mission Catalog and the new Mission Objects listing that give easy control over all of the objects available to add to the mission and the objects that are already placed in your mission.  In the catalog you can easily search and filter the thousands of available objects based on category aided with identifying colors and icons, or use a text search to find exactly what you are looking for.  Don’t know what you’re looking for?  Well now the mission preview shows the rendered object before adding it to the mission and your placed objects list.

Adding objects to the mission has never been easier, you can drag-and-drop to an exact location or you can just double click to add it to the center point of the map view. Either way it gets added to your placed objects list. 

Because large missions could get out of hand with the number of elements needed to support them, instead of having a list of hundreds of objects, SimDirector now has the ability to organize them into groups.  You’ll see a good example of groups on the Mission Objects portion of the screen.

Grouped Mission Visualization

Grouped Mission Visualization

We’ve made interacting with Prepar3D in this mode like you would expect from any other top down map.  You can now pan (middle mouse button) and zoom (mouse wheel) while interacting and selecting your placed world objects (left mouse click). Working with and manipulating the objects in the scene no longer needs an extra controller and still gives more control than ever before. 

Interacting with objects in the world has been made easier as well.  To build a successful mission, objects need to be connected and object properties need to be configured. All of this can now be easily done in the Property Window along the right side of the screen.  If you are familiar with the Object Placement Tool (OPT) all of the fields will look similar and you’ll know exactly what to do.  For those of you who aren’t, you’ll notice the gray box at the bottom will update and tell you exactly what the property you’ve selected does. You won’t need to flip open the Learning Center or search on the internet just to guess what a particular field is used for.

A new mode, Mission Visualization, was added to easily allow you to see how your mission was structured, and to quickly

Mission Validation Window

Mission Validation Window

connect the logic elements together.  Everything is color coded, and everything is labeled, and you can now look quickly at the mission visualization graph and trace the logic and training path in even the most complicated of learning scenarios.Also for those who are unsure whether they are connecting things correctly there is now the option of showing the dynamic validation window which will identify errors in your mission.  Just like in other applications if you double-click on any error or warning the appropriate offending object will be selected and show in your properties window.

Virtual Instructor: Taking Control of your Flight

SimDirector - Virtual Instructor

SimDirector – Virtual Instructor Mode

Whereas World Editor Mode is more about the objects external to the vehicle, the Virtual Instructor Mode is geared towards creating interactions inside the vehicle. There are three things that make up Virtual Instructor: sessions, focal points, and view changes.


Focal Point Example

Focal Point Example

The session editor is really a new paradigm in Prepar3D missions. It allows the mission creator to program interactions with the cockpit that can be dynamically triggered at any point in the mission. The session editor allows the mission creator to record any number of clicks in the virtual cockpit that can then be later played back when the mission is being flown. Dialogs and delays can then be added to the session to allow for a full demonstration for flight tasks.

The next two items, focal points and view changes, are part of the Virtual Instructor Object editor. Focal points allow the user to create box highlights that can be activated and deactivated during the mission. Need to indicate to the pilot to look at their attitude and to pay attention to whether or not they are slipping or skidding through a turn?  Draw a box around it. 

The view change action is the last major piece for the Virtual Instructor and it allows the mission creator to control the camera.  We completely overhauled the camera system for Prepar3D v2, and the view change action is a great example of it.  You can now pan and zoom and have nice immersive sweeps and animations between view changes.

All of these objects allow the mission creator to artificially interact with the person flying as the end user. It is important to note that all of these objects need to be linked into the mission logic in the world editor.

Mission Preview: Finding Faults

SimDirector - Mission Preview Mode

SimDirector – Mission Preview Mode

In Mission Preview mode you can trace the entire execution of your mission in two discrete ways. The Mission Visualization that you used to create the mission now is a visual indicator for your objects firing as the mission is tested.  There is also an output window which will indicate in sequential order when objects are fired.

On top of both of these automatic methods for debugging your missions there is the capability to monitor simulation variables during the preview. Once you start monitoring you can configure profiles for each of the vehicles you want. This allows you to add things like altitude and heading as simulation variables to monitor and then watch them change real-time as you fly your mission.

Mission Preview Monitoring

Mission Preview Monitoring

With all three of these methods of looking behind the curtain as you test your mission it becomes a relatively simple exercise of finding the faults in your mission.


SimDirector: In a nutshell

SimDirector is about giving the mission creators, all of you, the ability to control as much as you want. It is about ease of access to all of the information you need and the ability to quickly and efficiently edit and test those changes. Everything that was touched on is just a quick insight to what we have done for Mission Creation in Prepar3D but there is so much more available!

We are really excited about the opportunities this will open for mission creation and training in Prepar3D and cannot wait to see what you SimDirect!

Thanks for reading this week’s developer blog for Prepar3D v2.0, stay tuned for additional developer blogs in the future as we continue to outline some of the new and major enhancements for Prepar3D v2.0.

Wesley Bard

Software Manager, Prepar3D Development Team



Prepar3D v2.0 Developer Blog – DirectX11
October 7, 2013

Prepar3D v2.0 Developer Blog – DirectX11


Volumetric Fog and HDR Lighting in Prepar3D v2.0

As many of you are aware, since the release of Prepar3D v1.4, and even earlier actually, parts of our development team have been working on Prepar3D v2.0.  With Prepar3D v2.0 coming out later this year, it has many new and exciting features which we will begin to highlight in developer blogs, and the spotlight of this first developer blog will be on Directx11.

The core rendering engine in Prepar3D has been completely overhauled and updated from DirectX9 to DirectX11.  The biggest benefit to this is that now Prepar3D is able to better take advantage of modern graphics hardware.  In a nutshell, upgrading your graphics card will now increase either your performance or the fidelity of what you are able to see in the simulation.  It also allows us to implement new and modern rendering features.

Regarding performance, I’ll briefly talk about some of the features of DirectX11 and how taking advantage of them in Prepar3D v2.0 will allow for a better simulation, training or learning experience.

Object Instancing

Instancing allows the rendering system to have graphics cards draw multiple copies of the same object at once.  This is most noticeable where many of the same objects are displayed multiple times.  A great example of this is in the autogen trees.  With the right video card, be ready to max out those autogen sliders with much less impact to performance.  Not only do trees perform better, they also transition in smoothly rather than popping in.  The system can actually instance model parts such as wheels and switches too.


Dynamic Aircraft Self-Shadowing in Prepar3D v2.0

Tessellated Terrain on the Graphics Card

The previous work being done to generate the terrain and its mesh is now able to be done dynamically on the graphics card.  This allows two very noticeable differences, the ability for fully dynamic day and night cycles, and greatly improved terrain paging performance.

With the terrain lighting now able to be done dynamically on the card, shadows and lighting are updated in real-time, whereas previous shadows and lighting had to be baked into the textures and reloaded as the time of day changed.

Multi-Threading Support

Multi-threading essentially allows more work to be done on background threads as opposed to the main processing thread.  In Prepar3D v2.0 we are now able to do optimization in parallel on background threads, as well as perform shader compilation on background threads which in addition to the tessellated terrain helps to greatly reduce those stutters so many people were seeing in the legacy engine as the CPU tried to page in all that terrain and all those textures.


Self-Occlusion Shadowing  in the Virtual Cockpit View

GPU Particle and Effect System

Effects are now simulated on the graphics card.  Training scenarios with many more effects rendered in the scene are now possible.

As I mentioned before , with more of the work being done now on  your graphics card, we are able to open up new rendering features for v2.0.  In the future with each point release we can now more rapidly and easily update and add new visual features as well.

Real-Time Shadows and Lighting

Prepar3D v2.0 now has support for fully dynamic variance cascaded shadow maps.  The Prepar3D shadow system is fully customizable, including configuration

of the number of shadow cascades, their draw distances, and their logarithmic spacing.  We of course simplify all of these things into a handy slider, but the options to tweak the shadow system to your heart’s content is there.  Some of the other shadow system features we are excited about include full support for object self-occlusion,


An Example of Dynamic Shadowing in Seattle

including virtual cockpit self-shadowing, the terrain being able to receive and cast shadows in real-time, as well as day and night and weather support.  Seeing the moon or lightning affect the shadows in the virtual cockpit really adds to the immersion.  Regarding everyone’s favorite request for cloud shadows, we are working on them, and if they don’t make it in for v2.0 we will get them in for v2.1, but we’re hopeful to have them in for v2.0.

Regarding lighting, one of the biggest features we have implemented is the support for specular terrain lighting.  What that means is that land classes now support specular values that will affect how they reflect light (snow and roads now reflect light differently, snow is shinier, etc.).  Another lighting feature is a redone bloom system and a new HDR lighting system which better simulates the effects of lights on your eyes as you train.  The new HDR system includes both a more realistic bloom model, as well as dynamic tone mapping, which adjusts the color palette of the screen based on the overall brightness.  This means that when you are in a virtual cockpit the outside will appear much brighter than the relatively dark cockpit.

3-D Waves and Water Surface

While in v1.0 of Prepar3D we added the bathymetry feature to allow users to simulate and train under the water surface, our water surface was still flat.  We now have support for a vibrant new 3D living water surface.  Dynamic 3D waves are based on weather conditions and wind speed.  SimObjects like boats and planes have more options to calculate their normal so with a little updating they will be able to realistically flow and rock on the waves.


Prepar3D v2 3D Water Surface Example 1



Prepar3D v2 3D Water Surface Example 2



Prepar3D v2 3D Water Surface Example 3



Prepar3D v2 3D Water Surface Example 4


Volumetric Fog


Volumetric Fog in Prepar3D v2.0 – Example 2

The fog and cloud system also got a new feature with the ability to now have volumetric fog.  This greatly improves the appearance of flying through fog.

While these are only a few of the highlights of moving the legacy rendering engine to DirectX11, upgrading the platform so that it can scale to  take advantage of modern graphics hardware is a big milestone for the platform, and one we are very excited about.

As always, thanks for your interest in and support of Prepar3D.  Our development team actively monitors our support forums for feedback and feature requests.

I have also created a thread on our forums, where you can discuss this developer blog and interact with Beau Hollis, our Rendering Engine Lead and his very talented development team.  We have a lot of features and fixes we are still working on for v2.0, so give them some time to respond if you have questions.

Wesley Bard

Software Manager, Prepar3D Development Team

Oh, and one more thing…


The Optional Training Startup Screen in Prepar3D v2.0