This page has been translated automatically.
Setting Up Development Environment
Usage Examples
High-Level Systems
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
Double Precision Coordinates
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
Rendering-Related Classes
This version of documentation is OUTDATED! Please switch to the latest one.


Syncker system is deprecated and no longer supported. We can't guarantee the stable work of the system.

This article describes the data/samples/syncker/projection_00.cpp sample.

The projection_00 sample demonstrates how to use Syncker with the AppProjection plugin, namely:

  • Correct bezel on all slaves from the master application
  • Set projection parameters for the chosen slave on the master
  • Synchronize rendering of projection viewports

Configuring projection on the slave (the left picture) from the master (the right picture)

To avoid overwriting the camera configuration by the core/scripts/system/wall.h script, specify the PROJECTION_USER definition on the master and slave applications start-up. It disables the Wall::render() function and allows you to configure projections manually.

Shell commands
main_x86 -extern_define "PROJECTION_USER"

Launching Sample

Launching the projection_00 sample differs from launching the other samples for Syncker. So, you need to:

  1. On the slave application start-up, override a default editor script with the Syncker script for slaves, activate the AppProjection plugin and specify the PROJECTION_USER and SYNCKER_SLAVE definitions:
    Shell commands
    main_x86 -data_path "../" -editor_script "core/systems/syncker/syncker_slave.cpp" -extern_plugin "AppProjection" -extern_define "PROJECTION_USER,SYNCKER_SLAVE"
    The projection_00.cpp world script is used for both the master and slaves, so the SYNCKER_SLAVE definition is required to separate its logic.
  2. If the editor on slave applications is not loaded, load it via the following console command:
    Source code
  3. Run the application on the master computer
    Shell commands
    main_x86 -data_path "../" -extern_plugin "AppProjection"
  4. Change the broadcasting network address of the master:
    Source code
    And reload the world by using the world_reload console option.

After launching the sample, you need to configure slave projections from the master computer.

See Also

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