Graphics (GFX) Channels allow a designer to compose several independent scenes into a new scene. Utilizing a GFX Channel, a previously created scene can be added to the current scene as a DVE or Texture.
GFX Channel Media Assets can be nested. This means a scene with a GFX Channel Media Asset containing a scene, can be used as a scene placed within another GFX Channel Media Asset. However, nested scenes cannot use the same GFX Channels as the scene they are nested into. For example, if Scene 1 uses GFX channel 1, it cannot be nested within GFX Channel 1 of Scene 2. It can however be nested within GFX channel 2.
Also, note that cropping GFX channels have an impact on the render performance. You can see a detailed description of the functionality in the Media Asset Panel.
Scene Instances
When loading scenes into GFX Channels, multiple instances of a scene may be loaded in the scene pool. For each unique scene assigned to a GFX channel, Viz Engine loads the scene once from the Graphic Hub to a so-called "template instance". Then, this scene is cloned locally into a separate instance for this GFX channel. When the same scene gets assigned again to another GFX channel, the template scene is cloned again to a new separate instance for this GFX channel. The same scene can be assigned to multiple GFX channels without interfering with each other and additional multiple lookups to the Graphic Hub are prevented.
Thus, when accessing scenes in GFX channels using the normal communication port instead of dedicated GFX ports, its not enough to specify the UUID like:
SCENE*<
45263836
-8A7F-47AC-969C7BA08E7AADC1>*TREE DO_SOMETHING
// will access wrong scene instance!
Instead, the scene should be accessed by querying the object ID first:
// query object id first
MAIN_SCENE*GFX*
1
GET_OBJECT
returns <#
998
>
SCENE*#
998
DO_SOMETHING
Note: This means that there may be additional instances of the scene, even if a scene is only loaded into one GFX channel. Do not rely on the assumption that there is only 1 instance of a scene when working on scripts or plugins.
GFX Properties
By default, a GFX Channel automatically inherits the camera settings of the Scene it is applied to. In addition to the common Media Asset properties, GFX Channels also have the following properties:
Scene: Drag a scene, which should be rendered in the GFX channel.
Play Controls: Controls the animation of the set scene.
Controlled: Controls the GFX Channel animation using the main or parent Scene animation controls if active. For example, if the animation in the main Scene starts, it triggers the start of the GFX Channel Scene.
Force Key: Renders the entire Scene as keyed if the Scene does not have any keying information. If a GFX channel is rendered as Texture, it is in RGBA. Therefore, the Scene needs to have keying information for an alpha channel (the key scene setting is set to auto key or a key plug-in is used in the Scene Tree).
Keep Aspect: Renders the GFX Scene with its own aspect ratio (undistorted) if set to
On
in DVE mode. The Scene is scaled to fit the GFX channel size if set toOff
.Camera: Selects the camera view of the GFX Channel Scene. Auto means that the current camera setting of the loaded scene is used (may also change due to animations within the loaded scene).
MAIN_SCENE: Inherits the camera from the main scene.
AUTO: Uses the camera from the local scene and supports animations in the local (nested) scene.
1-16: Overrides camera view (fixed).
Resolution: Defaults the GFX Channels to the resolution configured for the current Output Format in the Viz Engine configuration. To change the current resolution, click the Default Resolution button to make the Resolution X and Y fields available for input, and enter the desired resolution setting. Clicking the Default resolution again resets the resolution for the GFX Channel, as well as disable the Resolution X and Y input fields. If the Default Resolution button is in a pressed state, and the Resolution X and Y fields are dimmed, the default resolution is in use.
Software Composition
Content is composed with either Alpha Blending or a premultiplied with the alpha component. This can be set for the RGB (color) and the Alpha part (Key) of the Media Asset. Changing the composition may be required for correct blending with third party applications.
Adaptive Scene Design Formats
When using various formats within one scene, the format can be set explicitly. If multiple outputs are required, a scene hosting multiple GFX channels running multiple formats of one scene can be used. See Adaptive Scene Design.
Note: The resolution setting only applies to GFX Channels in Texture mode.
Performance Considerations for GFX Channels
Rendering a GFX channel means typically that a second scene has to be rendered in multiple render passes. To get the best performance out of this, please consider a few hints:
GFX channels can be rendered in three internal modes (from fastest to slowest):
The scene is directly rendered on top of the main scene, using the correct size as needed.
The scene is rendered in a temporary texture (using the correct size) and this texture is blended into the main scene (needed when render sequence of nested scene is Overlay, or resulting texture is used with alpha < 1.0 in main scene).
The scene is rendered in a temporary texture (using full render size) and this texture is blended and scaled down into the main scene (needed when inner scene contains Defocus, Glow, or a Magnifier).
This leads to two main performance tips:
If your nested scene is a fullscreen scene, make sure that you are using render sequence Fullscreen instead of using Overlay.
Consider if you really need postprocessing effects Defocus, Magnifier or Glow in your nested scene, especially if the GFX channel is scaled down in your main scene.
Info: Some post effects in the Viz Classic Render Pipeline are only available if the GFX channel has the same size as the render output, otherwise they are disabled automatically.
Shared Memory Output for GFX Channels
Shared Memory (SHM) output is now supported from one or multiple GFX channels with configurable output resolutions (different than overall output format), Alpha, and 16-bit textures.
It is possible to send the output of the GFX channels to Shared Memory to exchange data with third party applications using Viz Artist.
SHM Aux Mode: Which mode to be used to exchange data with third party applications.
Send: General mode for any third party application.
Unreal: Defines the behavior when used with Unreal Engine. The texture (either the default resolution or the original size) can be distorted or undistorted.
You can get the related output using Aux Key. The default value for aux key is: viz_<instance_id>_gfx<channel_id>_aux
(for example, viz_01_gfx1_aux).
Note: DVE mode is not supported.
NDI Output for GFX Channels
To support multiple outputs, the content of any GFX channel can also be broadcasted into an NDI network. The name of the NDI stream is then <engine-instancename> GFX-n (for example, VizEngine-0 GFX-1).
For more details see NDI Output from GFX Channel in the Viz Engine Administrator Guide.
Adaptive Scene Design Formats Support for GFX Channels
GFX channels can be set to render a certain format using the command or Viz Artist:
#<sceneID>*GFX*
1
*REQUESTED_FORMAT SET <name of format>
You can have one scene with two GFX Channels, one rendering in 16:9 and one in 9:16 portrait mode, and two NDI outputs, one in portrait mode and one in 16:9 mode.
Note: If the requested format is not supported by the GFX channel scene, then it falls back to the default format as active format, and the active format and requested format differ.
See Also
NDI Output from GFX Channel in the Viz Engine Administrator Guide