Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ XR Studio

Example: Cubemap 6 Viewports

  • Last UpdatedApr 27, 2026
  • 2 minute read

This page contains an example of a RenderSetup XML file using six viewports to render a cubemap.

Code example

<?xml version="1.0" encoding="utf-8" ?>

<renderSetup version="1.0">

<Viewport name="SX_VIEWPORT">

<hwnd index="0"/>

<pos value="0 0.3333"/>

<size value="0.25 0.3334"/>

<outputLayer value="SX_SCENE_LAYER"/>

<layers>

<Layer name="SX_SCENE_LAYER" type="sceneFGI">

<fgiConfig file="./GameData/hdr/fgi_default.xml"/>

<postProcess id="SX_POSTPROCESS" file="./GameData/hdr/post_process_default.xml"/>

<sceneName value="_all_"/>

<cameraName value="ft_player0_camera"/>

</Layer>

</layers>

</Viewport>

<Viewport name="DEFAULT_VIEWPORT">

<hwnd index="0"/>

<pos value="0.25 0.3333"/>

<size value="0.25 0.3334"/>

<outputLayer value="DEFAULT_2D_LAYER"/>

<layers>

<Layer name="DEFAULT_SCENE_LAYER" type="sceneFGI">

<fgiConfig file="./GameData/hdr/fgi_default.xml"/>

<postProcess id="DEFAULT_POSTPROCESS" file="./GameData/hdr/post_process_default.xml"/>

<sceneName value="_all_"/>

<cameraName value="Camera01"/>

</Layer>

<Layer name="DEFAULT_2D_LAYER" type="2dOverlay">

<layer2DName value="DEFAULT_2D_LAYER_MAIN"/>

<input1 value="DEFAULT_SCENE_LAYER"/>

</Layer>

</layers>

</Viewport>

<Viewport name="DX_VIEWPORT">

<hwnd index="0"/>

<pos value="0.5 0.3333"/>

<size value="0.25 0.3334"/>

<outputLayer value="DX_SCENE_LAYER"/>

<layers>

<Layer name="DX_SCENE_LAYER" type="sceneFGI">

<fgiConfig file="./GameData/hdr/fgi_default.xml"/>

<postProcess id="DX_POSTPROCESS" file="./GameData/hdr/post_process_default.xml"/>

<sceneName value="_all_"/>

<cameraName value="ft_player0_camera"/>

</Layer>

</layers>

</Viewport>

<Viewport name="UP_VIEWPORT">

<hwnd index="0"/>

<pos value="0.25 0"/>

<size value="0.25 0.3334"/>

<outputLayer value="UP_SCENE_LAYER"/>

<layers>

<Layer name="UP_SCENE_LAYER" type="sceneFGI">

<fgiConfig file="./GameData/hdr/fgi_default.xml"/>

<postProcess id="UP_POSTPROCESS" file="./GameData/hdr/post_process_default.xml"/>

<sceneName value="_all_"/>

<cameraName value="ft_player0_camera"/>

</Layer>

</layers>

</Viewport>

<Viewport name="DOWN_VIEWPORT">

<hwnd index="0"/>

<pos value="0.25 0.6666"/>

<size value="0.25 0.3334"/>

<outputLayer value="DOWN_SCENE_LAYER"/>

<layers>

<Layer name="DOWN_SCENE_LAYER" type="sceneFGI">

<fgiConfig file="./GameData/hdr/fgi_default.xml"/>

<postProcess id="DOWN_POSTPROCESS" file="./GameData/hdr/post_process_default.xml"/>

<sceneName value="_all_"/>

<cameraName value="ft_player0_camera"/>

</Layer>

</layers>

</Viewport>

<Viewport name="BACK_VIEWPORT">

<hwnd index="0"/>

<pos value="0.75 0.3333"/>

<size value="0.25 0.3334"/>

<outputLayer value="BACK_SCENE_LAYER"/>

<layers>

<Layer name="BACK_SCENE_LAYER" type="sceneFGI">

<fgiConfig file="./GameData/hdr/fgi_default.xml"/>

<postProcess id="BACK_POSTPROCESS" file="./GameData/hdr/post_process_default.xml"/>

<sceneName value="_all_"/>

<cameraName value="ft_player0_camera"/>

</Layer>

</layers>

</Viewport>

</renderSetup>

Image example

cavePoints setup

Notice that in the displayed image, viewports are rotated in the proper direction by setting their cavePoints properties.

The following script shows how to enable cave mode and set cave points on the six viewports.

<Coroutine name="cmd_setCavePoints" execute="true">

<wait condition="[@cmd_setCavePoints.timeFromWait]&lt;0.1" />"[@cmd_setCavePoints.timeFromWait]&lt;0.1" />

<set name="viewport_DX_VIEWPORT.caveEnable" value="True" />

<set name="viewport_DX_VIEWPORT.cavePoints" value="1 -1 1,1 -1 -1,1 1 1" />

<set name="viewport_SX_VIEWPORT.caveEnable" value="True" />

<set name="viewport_SX_VIEWPORT.cavePoints" value="-1 -1 -1,-1 -1 1,-1 1 -1" />

<set name="viewport_BACK_VIEWPORT.caveEnable" value="True" />

<set name="viewport_BACK_VIEWPORT.cavePoints" value="1 -1 -1,-1 -1 -1,1 1 -1" />

<set name="viewport_UP_VIEWPORT.caveEnable" value="True" />

<set name="viewport_UP_VIEWPORT.cavePoints" value="-1 1 1,1 1 1,-1 1 -1" />

<set name="viewport_DOWN_VIEWPORT.cavePoints" value="-1 -1 -1,1 -1 -1,-1 -1 1" />

<set name="viewport_DOWN_VIEWPORT.caveEnable" value="True" />

<set name="viewport_RIGHT_VIEWPORT.caveEnable" value="True" />

<set name="viewport_RIGHT_VIEWPORT.cavePoints" value="-1 -1 1,1 -1 1,-1 1 1" />

</Coroutine>

In This Topic
Related Links