This page has been translated automatically.
Programming
Fundamentials
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Core Library
Containers
Engine Classes
Node-Related Classes
Rendering-Related Classes
Physics-Related Classes
Bounds-Related Classes
GUI-Related Classes
Controls-Related Classes
Pathfinding-Related Classes
Utility Classes
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

projection_00

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: 03.07.2017
Build: ()