This article describes how to setup a PIXERA Project File to use Tracking Modules for moving Screens and make sure the content behaves as expected for correct rendering and Output.
An example PIXERA Project File with multiple examples of the workflow discussed using PSN for tracking is available Here. It uses version 25.1 R 1, so any missing content can be replaced with your own or by navigating to PIXERA's Standard Content folder.
Settings to Change
Following are important settings in the PIXERA tabs to change for any moving Screens, some are separated into a Display/LED section and a Projection Screen section as the settings differ.
Warning
It is recommend to uninit() any currently used Tracking Module especially if already connected to the Screen as this can cause conflicts as the settings are being changed. Once all settings are set the Module can be init().
From there any changes to the settings should again have the Tracking Module be uninit(), then init() when finished.
Screens Tab
Display/LED
Go to the Screens tab and select the Display/LED that will be moving. Then in the Inspector on the right side scroll down and find the Render Settings section.
Inside is a setting called Selective Target Rendering which should be set to Texture per Screen for any moving Display/LED.
This is because the render engine will make sure to check the Screen's settings for how the content should be rendered, in this case due to the Screen's position and rotation being necessary for the rendering as it is not in the same location at all times.
Projection Screen
You do not need to do this step for Projection Screens as this will be done in the Mapping tab coming up.
Mapping Tab
Display/LED
Go to the Mapping tab and select the Display/LED. Then in the Inspector on the right side under the Setup tab find the Dynamic Screen Setup section.
Inside are a variety of settings:
-
Use Perspective with Direct API: This should be checked on as it is needed for the Perspective to correctly follow the Screen's movements.
-
Apply Automatic Mapping Updates:
- Should be checked off during showtime, because if on this setting would make an update every time the Screen has moved leading to heavy performance usage.
- Should be checked off during showtime, because if on this setting would make an update every time the Screen has moved leading to heavy performance usage.
- Trigger Mapping Update: These buttons are for manually updating the Output to use changes Mapping values. Unnecessary if Apply Automatic Mapping Updates is checked on.
Note
The Transformation Animation Duration (Seconds) setting is being looked into, will be updated at a later time.
Projection Screens
Go to the Mapping tab and select the Projection Screen. Then in the Inspector on the right side under the Setup tab find the Dynamic Screen Setup section.
Inside are a variety of settings:
-
Selective Target Rendering: Should be set to Texture per Screen for any moving Projection Screen. This is because the render engine will make sure to check the Screen's settings for how the content should be rendered, in this case due to the Screen's position and rotation being necessary for the rendering as it is not in the same location at all times.
-
Slice Warp Mesh with Projector Frustrum: Check off this setting, if on, this setting would make an update every time the Screen has moved leading to heavy performance usage.
-
Use Perspective with Direct API: Check on this setting, it is needed for the Perspective to correctly follow the Screen's movements.
- Apply Automatic Mapping Updates: Check off this setting, similar to the slice setting, this setting would make an update every time the Screen has moved leading to heavy performance usage.
Warning
This setting directly relates to the Dynamic Softedge feature discussed later. With this off, changes to the Dynamic Softedge's settings will not take affect until a Mapping Update is made.
If performance allows during programming, you can have Apply Automatic Mapping Updates checked on to give real time updates for faster programming. Keep in mind you may experience unexpected jittering and visual issues if performance is exceeded, which is why during showtime/once Dynamic Softedge is setup to your liking that it is then checked off.
- Trigger Mapping Update: These buttons are for manually updating the Output to use changes Mapping values, mainly involving the Dynamic Softedge settings mentioned later. Unnecessary if Apply Automatic Mapping Updates is checked on.
Note
The Transformation Animation Duration (Seconds) setting is being looked into, will be updated at a later time.
Compositing Tab
Depending on the Screen type, the settings below will behave differently and are noted.
In the Screen Group tab, select the Moving Screen name inside a Screen Group, and naviagate on the right side to the VR Setup section:
-
Use with Input from Control or Direct API : Check on this setting. If this setting is not on you will see the content stuttering heavily as the Screen moves.
-
Controlled Parameters:
- Set to Free Perspective Camera if you want the perspective to be what follows the Screen.
- Set it to Eye Point if you want the eyepoint to be what follows the Screen.
- This decides whether the setup has a fixed eyepoint that then is rendering out at different angles, or if the setup has a moving eyepoint that is itself rotating to render at different angles.
Note
The Eye Point option will only work if the Action setPosRotAndPerspectivePos() is being used with the incoming Tracking Data, otherwise both options will just move the Perspective not the Eye Point.
However you can still manually change the Eye Point location if it is not being affected to have it point from a different set location.
-
Overscan: This setting will increase the Perspective resolution size by the factor given. For example, 1 will be the current Perspective resolution, whereas 2 will be twice the resolution being rendered. This can be useful for needing outside rendered content if the Screen goes too far off the expected path.
- API Smoothing Factor: Can be used to smooth out the Perspective's movement if there is slight stuttering occuring on the content. The larger value the Smoothing Factor is set to, the stronger the interpolation will be so increase this until the issue is resolved. Mostly needed for fast moving/inaccurate tracking.
Next select the Screen Group itself to look at the Perspectives Follows Screen Positions setting which affect all Layers being used on the corresponding Moving Screen:
-
Displays and LEDS:
- Check on if you want the content to be “revealed” by the Display/LED. This will allow the content to appear as if it is in a fixed point in space and the moving Screen is just a window to see that content.
- Keep off if you want the content to follow the Display/LED as it moves around. This will allow the content to appear in the exact way you set and not be lost as the Screen moves.
-
Projection Screens:
- Check on if you want the content to be “revealed” by the Display/LED. This will allow the content to appear as if it is in a fixed point in space and the moving Screen is just a window to see that content.
This is separate from how a Display/LED handles the visual due to the Projector being fixed, so the render will look like the content is being cropped backed and forth, whereas on Displays/LEDs the content is just moved past the end of the texture. - Check off if you want the content to follow the Screen as it moves around. This will do exactly as described, make the output show the content moving back and forth with the Screen.
This is separate from how a Display/LED handles the visual due to the Projector being fixed, so the render will make it look like the video itself has movement that happens to follow the Screen movement.
- Check on if you want the content to be “revealed” by the Display/LED. This will allow the content to appear as if it is in a fixed point in space and the moving Screen is just a window to see that content.
Warning
In can occur that when changing this setting back and forth that the perspective will be misaligned with the Screen due to a conflict in the incoming tracking data and the perspective location.
To fix this, check off tracking, use the Reset All Perspectives button to snap the perspective back onto the Screen, then move the eyepoint back to its intended location (By default 5 meters in front of that Screen's position).
As mentioned, the above setting will apply for all the Layers being used on the corresponding Moving Screen.
If there are certain Layers you would like to not follow the setting while it is on, you can go to any Layer's Setup tab and under the Render Properties section check on the Ignore Perspective Transformation from Direct API setting.
Any Layer with this setting on will act as if the Perspectives Follows Screen Positions setting was off, then act according to the previous list of affects.
Note
While the Layer is being used with Direct API on a Screen, it will also ignore other various settings involved with Layers. Such as one of the Big Four being the Origin setting, changing this will not move the content in any way until the Tracking Module is uninit().
Lastly, the setting Screen Aligned (Ignore Layer Transformation) in the same location can also be used to overwrite any of the settings above and force the content to stay attached to the Screen, just note depending on other Layer settings this could cause odd visuals.
Dynamic Softedge
One last section to take a look into is the Dynamic Softedge features on Projection Screens when they are moving.
Note
Information is being gathered for more clear/exact differences between the Dynamic Softedge settings, will be updated in the future.
There are a variety of settings in this section:
-
Use Dynamic Softedge: This checkbox will turn on Dynamic Softedge calculations which are rendered with the Projector/Screen position and set Settings.
-
Orientation: Decides how the Engine should generate the Softedge, if only using projectors which are placed Horizontally to one another, only Horizontal should be selected. If only using projectors which are placed Vertically to one another, only Vertical should be selected. If you have projectors in both configurations at once, then Horizontal and Vertical should be selected.
It is not recommend to always just select Horizontal and Vertical due to it using more calculations than one of the individual options.
Warning
The following settings will not take affect until a Mapping Update is made.
If performance allows during programming, you can have Apply Automatic Mapping Updates in the same Dynamic Screen Setup section checked on to give real time updates for faster programming. Keep in mind you may experience unexpected jittering and visual issues if performance is exceeded, which is why during showtime/once Dynamic Softedge is setup to your liking that it is then checked off.
Otherwise, for manual updates you can use the Trigger Mapping Updates buttons.
-
Smoothness: Will change the fade length. The higher a value, the longer the fade will cover the Output.
-
Gamma: Affects the strength of the fade along its length. The lower a value, the darker the fade will be in total starting from the edge of the fade.
-
Angle Weight: Moves the weight of the fade towards the angle between the Projector Outputs. The higher the value, the more weight given to the angle vs the selected Orientation edge.
-
Distance Weight: Pushes the area of the full black edge on the fade. The higher the value, the farther from the edge the full black will reach.
-
Limit Angle: Changes the fade's edge from being a flat edge to a given angular curved edge. The higher the value, the more the edge will wrap around the Output.
- Limit Power: Tied to Limit Angle involving the new curved edge's strength. The higher the value, the stronger the edge's fade will be.
Control Connection
For the full Tracking Module setup and workflow please reference the Tracking Modules article.
Once you have the other tabs settings correct and your Tracking Actions created, connect the Action sending the relevant data to the corresponding Screen's Action.
Below this is done after pulling the Screen out to its own Module for easier visualization. Note that in this case just Position and Rotation are being sent, if Perspective Position was also being sent, such as from Stage Precision, the Action setPosRotAndPerspectivePos() would need to be connected to.
Warning
Do not use basic data input, such as a Generator Module like Sinus, because this will result in jittery/unsmooth movement and cannot be resolved. To get smooth movement you must use a Tracking Module that goes through the Direct API.
Pixera 25.1 R 1 | 27 June 2025 | CL