Skip to content

RenderStream Layer

The RenderStream Layer is used to control third party render engines running externally to Designer.

Overview

The RenderStream Layer is used to sequence remote instances of Notch, Unity, and Unreal Engine. RenderStream panel

There are four main sections within the RenderStream Layer:

  • Media Thumbnail
  • Config
  • Default
  • Properties

Media Thumbnail

This area will display an image of the active stream being received. Note that in a multi-channel environment, this will only show the Camera in UE that has the RS component attached to it.

RS Media Thumbnail

Config

This section of the is where you will configure properties such as Asset and Cluster Pool, as well as monitor workload and engine health in real time.

RS Layer config

Framerate Fraction

The framerate of each stream is determined by the global refresh rate set within d3. The Framerate Fraction setting indicates the fraction of the framerate this layer renders at.

The options are 1, 1/2, and 1/3.

RS Framerate Fraction

Cluster Workload

The Cluster Workload window contains the elements required for configuring a Cluster.

RS Cluster Workfload It contains the following sections:

Configure

The Configure section contains these elements of a Cluster:

- Asset
- Cluster Pool
- Cluster Assigner
- Channel Mapping
- Bandwidth Estimate

Control

Asset

This is the Render Engine project or Notch block that will be controlled by the layer. In order for the asset to be visible here, it must be present in the RenderStream projects folder.

Right-click on the asset name to open the Asset properties editor:

Asset

Properties include:

  • Asset Discovery Name: Name of UE folder/project.
  • Target Engine: Name of the Render Engine.
  • Engine Settings: Engine version.
  • Colour shift: Apply color correction to entire asset.
  • Content Source Machine: The render node that is running the render engine project. This is the machine that the project will be synced from.
  • Available: Status indicator displaying if the Asset is available. Not a tick box.
  • Channels: displays active channels defined by the CameraActors in your UE project.

Cluster Pool

The Cluster Pool will automatically detect all available machines on the same network. Once detected, you can assign as many machines to the Cluster Pool as needed and inspect each machine in the pool to see network status, IP address, current Streams and available Assets.

Cluster pool

Cluster Pool

Properties include:

  • Render Machines: The list of render nodes that the content will be distributed across.
  • Understudies: Backup nodes in case of failover.

Cluster Pool Machine Properties

Right-click on the name of a machine in the Cluster Pool to edit additional properties related to that machine:

Cluster Pool Machine

Cluster Pool Machine

Properties include:

  • Load Factor: Relative load weight this machine can handle. Weight is relative to other nodes in pool. The workload can be spread evenly across the cluster by the user using a load factor. This allows you to take into account each machine’s spec and assign loads accordingly.

  • Online status

  • Preferred Synchronisation Adapter: This setting allows you to pick a subnet to use for sync. You should pick something fast - preferably capable of 100Gbps or more. Only used to control cluster communication and content syncing; it has no impact on how the streams are communicated to Disguise.

  • Network Adapters and settings: Non-editable list of network adapters available on the node. To configure the system for Cluster Rendering, all machines within a Cluster Pool must be on the same subnet. If a machine is reporting an unexpected IP address (e.g. loopback address), make sure to select the specific network adapter within the ‘Network’ tab of d3manager.

  • Streams: non-editable list of RS output from the node.

  • Assets: non-editable list of assets resident on the node.

Cluster Assigner

The Cluster Assigner is where we control the settings for the distribution of the content across all the machines in the Cluster Pool.

Cluster Assigners are used to create definitions as to how channels are delivered from the nodes. You can create as many Cluster Assigners as needed.

Cluster Assigner

Cluster Assigner

Properties include:

  • Splitting Strategies
  • These are used to generate the sub-regions needed for distributing content across a set of render nodes.
  • There are 3 types of splitting strategies:
    1. Tiles - lets Designer split up the content as it sees fit to the mapped channels. Note: this splitting strategy DOES NOT work with Mesh Policy.
    2. Full frame - Sends the entire stream to the mapped channel.
    3. Manual - splits each Viewport according to user specified instructions. When using the ‘Manual’ splitting strategy, the options for specifying how to split frames can be found within the Advanced workload settings.

Advanced workflow region In Advanced workflow settings, note that region pos. has a range between 0 and 1. The screenshot shows both regions (pos) set to 0.5. Other property values in this editor also range from 0 to 1.

  • Splitting Overlap: The Splitting Overlap option can be used to define a blend region at each split that hides imperfections at the seams.

  • Padding (Pixels):The Padding option enlarges the rendered areaat each split, but does not stream the padded area, cutting off edge artifacts.

  • Load Weight:‘Load Weight’ allows you to set a priority for the Cluster Assigner. The higher the weight of the assigner, the more machines will be assigned to render the content and thus more splits will be made.

  • Transport format:The options to pick between ‘Compressed’ and ‘Uncompressed’ , ‘RGB 4:4:4’, ‘YUV 4:2:2’, and ‘YUV 4:2:0’, and 8-bit, 10-bit and 12-bit transport bit-depths are available.

  • Alpha: The option to enable or disable the Alpha channel on the content is available.

  • Scale factor: Scale factor for the resolution.

  • Proxy Streams: A compressed stream at a lower quality or resolution used for providing a preview on ma chines where receivingthe full-quality stream is undesirable or impossible.

  • Preferred network: Select the adapter to use for video transport on any channel the assigner is associated with.

Once the cluster has been configured, the stream’s playback is managed via the Cluster Workload controls.

Cluster workflow in r21

The options for managing the workload are:

  • Instances: there can be only one workload instance running at a time in the same cluster pool.

    When started, the Instances table will be populated with the machines that have been sent the start signal.

  • Start: sends signal to all machines in the pool to launch the Asset according to config settings

  • Stop: Sends signal to cease outputting a stream and quit the process sending it.

    The workload log can be opened by left clicking on the status within the Instances table

  • Sync: begins the process of content sync. Content is synced from the source machine to all other machines available within the cluster pool; copies only the necessary directories and files needed.

  • Advanced: right-click to open the workload’s advanced options:

Workload advanced in r21

Receive Health

Status of entire cluster receiving streams, dynamically reported while stream is running.

Right-click on Receive health to open machine specific window:

Receive health in r21

Default

In the Default section of the RenderStream Layer, there are four common layer properties:

RS default

  • Blend Mode: Premult-Alpha is needed for content that contains alpha data.

  • Brightness: Layer intensity.

  • Mode: This is used to determine the timeline’s playback behavior as the layer is playing.

Properties Section

The last section of the RenderStream layer is asset specific and will display all exposed parameters from the asset as well as their keyframe editors

RenderStream properties

Workflow

Set up your environment including installation of the Render Engine and required plugin.

Use the RenderStream Layer to control the third party render engine.