The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
Usage Examples
API Reference
Integration Samples
Usage Examples
C++ Plugins
Migrating to UNIGINE 2.0
C++ API Migration
Migrating from UNIGINE 2.0 to UNIGINE 2.1
This version of documentation is OUTDATED! Please switch to the latest one.


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
    master_address xxx.xxx.xxx.xxx
    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: ()