03. PRIME VSAR: nDisplay integration
nDisplay integration allows the use of HDMI / DisplayPort output for VSAR with the use of Cesium Camera.
nDisplay Setup
nDisplay Requirements:
- Nvidia Quadro Sync II
- Cat-5 or Cat-6 RJ45 cables. (for multiple machines)
- BNC cable for genlock
- DisplayPort to HDMI convertor (only for HDMI)
Sync setup
Nvidia Quadro Sync II needs to be installed in the PCIe slot on the motherboard and connected with appropriate cable to the Nvidia GPU. for more information see more at Quadro-Sync-II user guide
The cable should come with the Nvidia Quadro Sync II, Nvidia GPU has the ports for the Quadro Sync II connection at the top; they usually have plastic cover that needs to be removed to uncover the ports and connect the according the Quadro-Sync-II user guide
After the cable is properly connected to the GPU. We need to connect the genlock signal using BNC cable to the spigot.
after the connection is correctly connected make sure to install the the Quadro sync II Driver (the link is for windows 11)
For multiple machines:
Frame Lock: connected to the Cat-5 or Cat-6 RJ45 cables according to the Quadro-Sync-II user guide, make sure to use direct connections without any TCP/IP hardware in between. Coming from the master machine going into the client machines.
Or
External Sync only: connect each Nvidia Quadro Sync II to genlock source and set them up all with external sync source.
when properly set-up on master it should say “External Sync signal: Present (Not in use)”
go to Synchronize Displays
Select On this system
Select the Main Display and click the Server Settings
if you see that the external sync frequency does not match
you can fix that by going into change resolution -> refresh rate
⚠️ when you experience blinking of the windows try restarting the display
make sure click Apply
select the An external house sync signal and select the Leading/Falling edges depending on the genlock generator.
click Apply
make sure to confirm the setting
when the genlock is actively in use it should say “External Sync signal: Present (in use)” (may not necessarily mean that all configuration is correct just that it is used)
Enable Plugins
Open VSAR in Edit -> Plugins
search for nDisplay and enable nDisplay and nDisplay Launch
search for switchboard and enable it
you may need to restart VSAR
Render target
Cesium Camera is using the render target as intermediary between Cesium Camera and nDisplay. Create Render target by Right click in Content browser and select Render target.
double click on the Render target asset and set the Size X, Size Y to use custom resolution
Create one for each Cesium Camera that should have HDMI / DisplayPort as output using nDisplay.
nDisplay config
Create nDisplay config asset in Content browser, Right click in Content browser and select nDisplay config under nDisplay -> nDisplay config
create new config
Add New Cluster Node
Set the Host IP Address if Cluster Node is not a local host (127.0.0.1). You can set your custom resolution in the Window -> Size, this is the size of all displays connected to the system.
Note: Max size is 8192 x 8192 but it can be increased by DC.OverrideMaxTextureDimension
this should created VP_0
Drag and drop VP_0 to the nDisplayScreen
When using custom resolution make sure to adjust the nDisplayScreen size in the details panel under Screen Size -> Size
Select the VP_0 in details panel set Replace -> Source Texture to the render target created before and make sure the Enable Viewport Texture Replacement
Add second viewport (per node) that the sole purpose of it is to have a valid Viewport due to deferred rendering requiring a valid Viewport (this requirement may be removed in future releases)
with the size of 1x1, we wand the viewport to be as small as possible, and uncheck the adjust Viewport position to prevent overlapping and expand cluster node to fit new viewport.
Make sure to also drag and drop the this Viewport on the nDisplayScreen
Select Cluster in details panel under Sync -> Render Sync Policy -> Type select Nvidia (2)
📝 for the Nvidia sync to work correctly it requires the display resolution to much the display resolution, also it does not work properly when application is out of focused or remote desktop user is connected (example: TeamViewer user is connected ).
Save and Compile
drag and drop the nDisplay config asset to scene (level)
Multiple display setup
On system with multiple displays you want to set main Node for Main Display as the nDisplay window(s) appears on the Main Display, for secondary display you want to add additional Node set it up same as the first one and then use the Nvidia mosaic to map it to the proper display.
Interlaced display
If your specific use case requires interlaced output you can enabled that for the display in the Change resolution -> Customize
Click the Create Custom Resolution…
Accept the Legal Disclaimer (make sure you know what you doing)
Select the correct display
In the Scan type you can select Interlaced
Cesium Camera Output
in PRIME VSAR config add Render Target Output
Set the Render Target input to the before created Render target
In the corresponding Cesium Camera in details panel select in the Video Output -> RenderTargetOutput
Make sure that the deferred capture is enabled under Video Output - Rendering -> Advanced -> Use Deferred Capture
Make sure to save the output configuration
Make sure to Save all
Launching nDisplay
While launching nDisplay it launches a standalone application that may take some time to boot up and will appear black while it is loading.
There are two main ways to launch nDisplay configuration:
using Launch nDisplay
It requires nDisplay config to be in the scene. When using Launch nDisplay the Editor can consume SDI inputs/outputs due to the Editor and standalone application having the same settings.
using Switchboard
First launch of the switchboard requires installation.
Select .uproject file for project if not populated automatically
select correct level
Add Device nDisplay one for each
Select nDisplay Config file
Launch the switchboard listener on all VSAR machines you want the nDisplay config to run on
Close VSAR on all VSAR machines you want the nDisplay config to run on
Click the connect button to try to connect to all the nodes
you can start all nodes using the start button (up arrow)
you can rebuild the node to update it to the project changes, unfortunately this requires development environment