This page has been translated automatically.
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
High-Level Systems
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
Rendering-Related 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.

projection_00

Warning
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
    editor_load
  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: ()