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: 2017-07-03
Build: ()