This page has been translated automatically.
Setting Up Development Environment
High-Level Systems
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
Double Precision Coordinates
Bounds-Related Classes
Controls-Related Classes
Core Library
Engine-Related Classes
GUI-Related Classes
Node-Related Classes
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes
Utility Classes
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.


AppLevel application is designed for rendering Unigine-based projects without any graphics hardware. It emulates DirectX 11 render capabilities entirely on CPU and supports all Unigine features used on DirectX 10.1 (by default) or DirectX 11.0 levels. AppLevel provides reasonable performance and can be used for feature testing, debugging, verifying bugs, etc.

AppLevel supports only DirectX 11 API. Software rendering is much slower if compared to the hardware-accelerated rendering performed on GPU.

Building and Launching AppLevel

By default AppLevel application uses a high-performance WARP software rasterizer and supports DirectX 10.1 feature level. To build and launch AppLevel simply follow these steps:

  1. Go to the <UnigineSDK>/source/app/AppLevel folder.
  2. Run build_x86.bat or build_x86d.bat to build 86-bit version of AppLevel (debug or release one, respectively).
  3. Rename the resulting main.exe into AppLevel_x86.exe (or AppLevel_x86d.exe). Copy it into <UnigineSDK>/bin folder.
  4. Modify any of the launchers from <UnigineSDK>/demos folder. Replace main_* with AppLevel_* to run AppLevel binary. All other required start-up options can be left unchanged.
    Shell commands
    set PATH=../bin;../lib;%PATH%
    AppLevel_x86 -data_path ../ -engine_config ../data/demos/sanctuary/unigine.cfg -system_script sanctuary/unigine.cpp
    -video_mode -1 -video_width 1024 -video_height 768 -video_multisample 0 -video_fullscreen 0

No matter what rendering API is specified in the launcher, DirectX 11 API with DirectX 10.1 feature level will always be used.

Enabling DirectX 11.0 Feature Level

To enable DirectX 11.0 feature level including tessellation and Shader Model 5.0, the default WARP software rasterizer should be replaced with a Reference rasterizer. If compared to WARP, it is significantly slower. Follow these steps to enable these features:

  1. Go to the <UnigineSDK>/source/app/common folder.
  2. Edit D3D11AppLevel.cpp in any text or code editor. You need to comment the first line (at line 152) and uncomment the second one to use Reference rasterizer instead of WARP.
    Source code(C++)
    // Comment this line:
    // warp device with feature level 10.1
    // Uncomment this line:
    // reference device with feature level 11.0
  3. Perform all the steps described above for building and launching AppLevel.

After that, AppLevel application will use DirectX 11 API and DirectX 11.0 feature level.

Last update: 2017-07-03
Build: ()