Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes

Separate Images Output with AppSeparate Plugin

An AppSeparate plugin is used to create a separate window for each eye. It can be used with any devices that support separate images output, e.g. for 3D video glasses or helmets (HMD)

Notice
The AppSeparate plugin supports only DirectX 11 graphics API. So it can be used on Windows only.

AppSeparate can be rendered in both the windowed and the full screen mode.

Launching AppSeparate

To use the plugin, specify the extern_plugin command line option and STEREO_SEPARATE define on the start-up:

Shell commands
main_x86d -extern_plugin "AppSeparate" -extern_define STEREO_SEPARATE

Also you can create a new project with the AppSeparate plugin support by checking the Dual output stereo 3D option on the New Project tab of the Unigine SDK Browser.

The engine automatically loads the appropriate version of the library depending on the specified main application. So you can use 32-bit, 64-bit, debug or release versions of the library.

Notice
It is not possible to use the AppSeparate plugin with:

Customizing AppSeparate

Unigine-based application can be used with any custom device that supports an output of separate image pairs. You simply need to do the following:

  1. Define the application behaviour when the STEREO_SEPARATE define is set on the start-up or in the configuration file:
    Source code (C++)
    #ifdef STEREO_SEPARATE
    	// implement your code here
    #endif
  2. Implement the input device interface using an extensible C++ API.

Stereo settings that control eye separation and distance to the zero parallax plane are added to GUI by data/core/scripts/system/stereo.h script and can be controlled from there.

Last update: 2017-10-20