Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
General considerations
The GPU (Graphics Processing Unit) plays a crucial role in multi-projector setups, particularly in workstations, media servers, or multimedia PCs, where the primary objective is to drive multiple displays seamlessly.
Professional GPUs from NVIDIA (such as the Quadro/RTX range) and AMD (including the Radeon PRO lineup) are preferred for such applications due to their superior capabilities in managing multiple displays simultaneously. These GPUs excel in critical tasks such as emulating the EDID (Extended Display Identification Data) of projectors and merging multiple physical outputs into a single, extended display, features that are typically lacking in consumer GPUs and onboard graphics solutions.
No. outputs
4
4
4
1-4
EDID minding
yes
yes
no
no
Display spanning
yes (Mosaic)
yes (Eyefinity)
no
no
Cross-GPU spanning
yes (Quadrosync)
no
no
no
Warp&Blend
yes (NVAPI)
no
no
no
Availability
long term
long term
short term
short term
Price
Highest
High
Moderate
Lowest
VIOSO's software requires the most recent runtime libraries of Visual Studio to be present. These runtimes are usually installed when running the installer of VIOSO software. If this is blocked or interrupted, the software cannot run and exit with numerous errors like crashes, failure messages, etc.
If you run in such a case, please download and (re-)install the latest Visual Studio runtime:
After downloading, double-click to install and follow the instructions of the runtime installer
If required, please reboot (don't skip this!)
If an error running VIOSO software persists, please also check if the DirectX Runtime is installed properly and if an error still persists, please contact support@vioso.com (please tell us the Windows version and add screenshots of any error message when contacting our support).
World's leading software for projector warping & blending
The software VIOSO 6 is a cutting-edge solution designed for advanced projection mapping and edge blending. Its main advantages include seamless integration with a variety of hardware, user-friendly interface for simplified setup, and robust tools for automatic camera-based calibration. VIOSO 6 enhances visual experiences by delivering precise and vibrant projections, making it an ideal choice for high-quality professional and artistic displays.
Seamless Hardware Integration: Supports a wide range of projectors and cameras.
User-Friendly Interface: Simplified setup process for ease of use.
Automatic Calibration: Robust tools for camera-based calibration.
High Precision: Delivers accurate and vibrant projections.
Versatility: Suitable for both professional and artistic applications.
This new documentation replaces all previous guides and manuals available on helpdesk.vioso.com. It encompasses the latest features and updates of VIOSO 6, ensuring users have access to the most current and comprehensive information. By consolidating the documentation into this single, updated source, users can more easily find and utilize the tools and instructions necessary for optimal software performance.
In the next chapters of this documentation, users can expect a detailed walkthrough of VIOSO 6's installation process, step-by-step guides on configuring and using the software, and in-depth explanations of its advanced features. We will cover how to integrate different hardware components, perform automatic camera-based calibration, and customize settings for both professional and artistic applications. Additionally, troubleshooting tips and best practices will be provided to help users achieve the best possible results with their projection mapping projects.
VIOSO applications require the DirectX runtime environment. It is usually installed along with the installation script of VIOSO applications, but for various reasons, sometimes this step is skipped. To re-install or update DirectX, please follow this workflow:
Doubleclick the new downloaded file "directx_Jun2010_redist.exe" and confirm the license agreements by clicking "Yes".
You need to run the installer as administrator!
In the windows now visible, specify a folder in which the data should be extracted, e.g.: "C:\DirectX" or choose an already existing folder by "Browse".
Click "OK" to extract the data to this folder. After this step is finished, the actual installation process can be done. Switch to the folder you chose before. In this folder, there is the setup file called "DXSETUP.exe". Doubleclick this file to initiate the installation process.
You’ll have to accept the Terms and Conditions of the License Agreement again. Continue clicking "Next" until the installation procedure is completed.
After the successful installation, you can delete the folder where the extracted files are.
For using NVIDIA RTX/Quadro GPUs for video playback solutions, we recommend a couple of settings to be done in the general 3D settings.
Open the Nvidia Control Panel (right click on the desktop)
Go to Manage 3D settings
In the first tab Global settings
, scroll down to find the option Power management mode
and set it to Prefer maximum performance
Find the option Threaded optimization
and set it to On
Find the option Tripple buffering
and set it to On
Reboot computer
Find all released versions of VIOSO 6 and learn about changes and improvements
This is a major release that introduces a new procedure for blacklevel uplift. Recommended for new setups and for testing. Existing, well-running setups do not need to be updated.
Major release, introducing a new way of network licensing that faciliates the use of VIOSO in master-client scenarios.
Major release, introducing multiple channels, thus replacing Blackbox for complex workflows
Stable branch of the new VIOSO 6 software
NVIDIA GPUs are leading in video playback servers and have the unique feature of desktop warp&blend. Therefore we explain the usage of NVIDIA GPUs in deep detail.
If a system does not behave properly, and if this behavior is connected with the usage of NVIDIA Quadro (e.g. operating the control panel), we recommend a clean reinstall.
These are some symptoms:
GPUs are missing in NVIDIA system topology.
Connected displays not showing up in Windows, but listed in NVIDIA system topology (check adapters and signal cables first).
NVIDIA control panel works very slowly.
NVIDIA control panel nearly empty or not showing the usual set of features.
Blue screen when operating with NVIDIA features (e.g. setting up Mosaic).
Other anomalies.
A clean reinstall and system configuration requires 10 steps:
Prepare to reinstall the GPU Driver. Disable all Mosaic settings and perform a complete uninstall.
Reboot.
Use the driver setup and perform a driver installation. Install the driver in expert mode, and install just the driver - nothing else (un-mark all check boxes). After driver install...
Reboot.
Reboot.
Reboot.
If everything looks good and behaves well, create a system image for backup and rollback. Then make your final....
Reboot.
DO NOT SKIP ANY REBOOTS!
This workflow avoids nearly all possible anomalies, blue screens, slow down, corrupted settings, etc.
Available on NVIDIA RTX/Quadro GPUs only
The EDID emulation feature is supported by some professional series of graphic cards: NVIDIA Quadro (with the R256 driver and newer) and AMD FirePro. When an EDID is loaded or forced through the management system, the driver ignores display hot-plug actions.
Managing the display information using a customizable EDID manager by a professional GPU adds a great deal of stability and reliability to an AV system.
Step 5: Reboot
Finding and installing an appropriate driver for your NVIDIA RTX/Quadro graphics card depends on various parameters, mainly the GPU model and the operating system you are using.
VIOSO does not recommend specific drivers since as per version 5xx all GPUs from the NVIDIA RTX/Quadro support EDID minding and Mosaic on any GPU. However, there might be recommendations from the vendor of your workstation or server that you should follow at first.
If there are no such recommendations, you can follow a generic scheme to find a suitable driver for your system:
NVIDIA drivers are availble as public downloads. They change frequently.
Step 2: Filter according to your system:
Product type
NVIDIA RTX/Quadro
Product Series
NVIDIA RTX Series
Product
select your GPU
if you run multiple GPUs, choose the GPU with the oldest release date
Operating System
select your OS
we do not recommend to use 32-Bit systems anymore
Language
English (US)
Recommended/Beta
Recommended/Certified
Do not use Beta or New Feature Branch drivers
Step 3: Select the driver based on these considerations:
Use a driver from the R5... version
Use a driver from the most current or second current version
Use a driver with a high revision number ("U-number"). Drivers with a high "U-number" are considerably more stable then drivers with a low U-number In this sample, we would choose R535 since it has already 12 revisions ("U12"), whereas the more recent branch R550 has 4 revisions ("U4"). We would not pick R470 anymore, even if it comes with a high number of revisions.
Installing NVIDIA drivers is pretty straight forward. However, it's important to keep some aspects in mind:
Step 1: Deactivate any Mosaic configuration. Otherwise drivers may not install correctly!
Step 2: Launch the installer with Administrator privileges
Choose "custom install"
Do not install the RTX desktop manager
Make a clean install
Parameters for the NVIDIA driver installer:
installation option
Custom
do not run an express insallation
driver components
[x] graphics driver [x] HD audiodriver
do not install the RTX Desktop Manager
clean install
[x] clean install
check the box to run a clean install of the driver
Step 3: Run the installer
Step 4: Reboot, even if not prompted to do so after the installer has finished
Available on NVIDIA RTX/Quadro GPUs only
NVIDIA Mosaic is used to combine several projectors to a single, logical Desktop area. After that, all applications behave as if just one monitor exists. This is the behavior the end-user will expect as system behavior after a calibration.
These topologies can be set:
After combining projectors like this, they are recognized from the operating system as a single, high-resolution display:
The following steps provide instructions on using the ConfigureMosaic.exe utility:
Download “configureMosaic.exe,” using the “Download Now” button.
The configureMosaic.exe utility must be run in a command window with administrator user privileges
To find a list of commands for the ConfigureMosaic.exe utility run the following command:
A basic setup for this would be a command based on the number of rows, columns, and desired resolution. If no resolution flag is set, the command will use the default native resolution of the monitors in the setup. For example:
will result in a Mosaic GRID of 8 monitors in total with 2 horizontal rows and 4 vertical columns:
To help formulating the appropriate commands, we provide and online ConfigureMosaic commandline creator:
The following steps provide instructions on setting up a Mosaic configuration using the NVIDIA control panel.
From the Select a Task navigation pane, under Workstation, click Set Up Mosaic to open the associated page.
If not already expanded, click the Sync Capability Information icon (+) to expand the information box and see which GPUs in your system are able to synchronize multiple displays with each other. NOTE: This box appears only if there is at least one sync-capable GPU in your system.
Click Create a new configuration and then follow the steps in the Mosaic Configuration wizard as described in the following sections. You can create more than one Mosaic configuration depending on the displays that are connected.
Select the number of displays, the row x column topology, and the orientation of the displays. By default, the number of physically connected displays appears under Number of displays.
Optionally enter a configuration name for this Mosaic configuration.
Uncheck I am using recommended connections for the selected topology
and click Next.
Select Maximum GPU Topology
Select the displays to use, the refresh rate, and the resolution per display. Icons for each selected display will appear in the Selected display sources box.
Arrange Displays
When completed, click Apply. Mosaic is activated after a while.
Download here:
Download the DirectX runtime:
Released: 2025-06-12 - Download:
Released: 2025-04-30 - Download:
Released: 2025-02-28 - Download:
Released: 2024-11-24 - Download:
Released: 2024-10-11 - Download:
Released: 2024-03-19 - Download:
Released: 2024-03-11 - Download:
Released: 2023-12-24 - Download:
Released: 2023-10-13 - Download:
Released: 2023-06-29 - Download:
Released: 2023-01-20 - Download:
Released: 2022-10-21 - Download:
Released: 2022-08-19 - Download:
Released: 2022-07-21 - Download:
Released: 2022-06-05 - Download:
Released: 2022-05-11 - Download:
Setting up workstations and servers using NVIDIA professional GPUs () can be troublesome. There are blue screens, sudden system shuddowns, lack of features, etc., so we like to share our experience on how to deal with such systems.
Set EDIDs for all connected projectors (). Then...
Set up a Mosaic (). Then...
Step 1: Right click on your desktop and click 'NVIDIA Control Panel'.
Step 2: Click on "View System Topology" and locate the display you want to modify and export EDID data. Click on 'EDID' (it should be marked as "Monitor").
Step 3: Export EDID as file On the "EDID management window", select the "Export" tab. Export the EDID data from the selected projector and save it onto the disk as a file. If all of the projectors are the same (same type of projector and brand), it is enough to export and save the EDID from one of them. This file can be used for all of the projectors of the same model. Name the file according to the projector name and model for future purposes.
Step 4: Load EDID => Select "Load" tab. => Click 'Browse' to select the file. => Checkbox the outputs you want to load your EDID data. => Press 'Load EDID': => After you have successfully loaded the EDID, where it previously said "monitor" will now read "file".
Step 1: Open the official NVIDIA driver search:
Download the Mosaic Utility from the NVIDIA driver homepage. NOTE: This will be located under the Quadro Advanced Options bullet. Under the Utilities subheading you will find the Mosaic Utility for download:
Select Topology
Select Displays
Arrange the display sources to match your physical displays by either dragging the icons from the Selected display source box to the desired position in the Topology box, or by entering the number for each display into the desired position in the Topology box.
PDF user guide "NVIDIA Mosaic Technology":
VIOSO Calibration Solutions Compatibility
VIOSO 6 provides robust solutions for managing multi-projector setups by splitting the graphics card output according to the projector topology. This functionality is critical when using video signal expanders.
Video Signal Expanders:
Matrox: DualHead2Go, TripleHead2Go, QuadHead2Go
Datapath: X4, FX4
Analog Way: DPH104
Switchers:
Presentation switchers and video matrix switchers are also fully compatible, allowing for the expansion of projector connections from a single graphics output.
VIOSO 6 provides robust solutions for managing multi-projector setups by splitting the graphics card output according to the projector topology.
To effectively utilize video signal expanders in conjunction with VIOSO 6, it's vital to correctly split the graphics card output. This ensures that each projector receives the intended portion of the video signal, resulting in a seamless multi-projector display.
For detailed instructions on configuring your setup in either Free Mode or Project Mode, please refer to the appropriate documentation. This guidance will help you understand the specific steps required to match your projector topology with the graphics card output, ensuring optimal performance of your VIOSO calibration solutions.
VIOSO 6 extensively utilizes network capabilities to function seamlessly across multiple PCs. In this setup, one node is designated as the master while the others serve as clients, effectively distributing tasks to work in unison. This architecture allows all functions to be scaled and synchronized across the network, creating a unified application experience despite the distributed system.
To ensure VIOSO 6 operates efficiently across a network setup with one master and multiple client nodes, the following network requirements should be met:
Network Speed: A minimum of 1 GB/s network speed is necessary for fluent operation.
IP Configuration: Fixed IPs should be assigned to each node within the network to maintain stable connections and facilitate seamless communication between the master and client nodes.
Setting up a network with several PCs using fixed IPv4 addresses involves configuring each PC with a static IP address within the same subnet. Here's a step-by-step guide to do this:
Decide on the IP address range and subnet mask for your network. For example, you might use the IP address range 192.168.1.0/24, which allows for 254 usable IP addresses (from 192.168.1.1 to 192.168.1.254) with a subnet mask of 255.255.255.0.
Access the network settings on each PC. In Windows, you can do this by going to Control Panel > Network and Sharing Center > Change adapter settings.
Right-click on the network adapter you want to configure (usually Ethernet or Wi-Fi) and select Properties.
Select "Internet Protocol Version 4 (TCP/IPv4)" and click Properties.
Choose "Use the following IP address" and enter the IP address, subnet mask, default gateway, and DNS server information.
Assign a unique static IP address to each PC within the same subnet. For example:
PC1: IP Address: 192.168.1.1, Subnet Mask: 255.255.255.0, Default Gateway: [Router IP], DNS Server: [Router IP]
PC2: IP Address: 192.168.1.2, Subnet Mask: 255.255.255.0, Default Gateway: [Router IP], DNS Server: [Router IP]
PC3: IP Address: 192.168.1.3, Subnet Mask: 255.255.255.0, Default Gateway: [Router IP], DNS Server: [Router IP]
and so on...
Access your router's administration interface via a web browser. Usually, you enter the router's IP address into the address bar.
Navigate to the LAN settings or DHCP settings section.
Reserve IP addresses for each PC by associating the MAC addresses of their network adapters with the corresponding static IP addresses you assigned earlier. This ensures that the router always assigns the same IP address to each PC.
Once all PCs are configured with static IP addresses, ensure they can communicate with each other and access the internet.
Ping each PC from another to verify connectivity. Open the Command Prompt and type ping [IP Address]
.
Access shared files or resources on other PCs to ensure proper network functionality.
Keep a record of the assigned static IP addresses and associated devices for future reference.
If adding or removing devices from the network, update the configurations accordingly.
By following these steps, you can set up a network consisting of several PCs with fixed IPv4 addresses, ensuring stable and predictable connectivity within your network environment.
local remote access and external TV access
Having an alternative access method to a workstation running tools like VIOSO 6 is crucial due to the nature of working with projectors in various unconventional environments. In scenarios where projectors are set up in challenging or hard-to-reach locations, accessing the workstation or VIOSO software from a local console might be impractical or even impossible.
A functional VNC or remote access allows to perform nearly all operations without being tethered to the local workstation.
The difference between local (IP-based) VNC tools and internet-based remote access tools lies primarily in their scope of accessibility and the underlying technology used for remote connection.
Scope: Local VNC tools are designed for accessing computers within the same local network or LAN (Local Area Network). They typically rely on IP addresses or hostnames to establish connections between devices on the same network.
Usage: These tools are useful to access a workstation during setup, for calibration and image optimization. Especially with workstations installed in a different place than the projectors using a local VNC is a practical way to operate such workstations.
Security: Since they operate within a local network, security concerns are relatively lower compared to internet-based remote access tools. However, proper security measures such as encryption and password protection should still be implemented to secure remote connections.
RealVNC
TightVNC
UltraVNC
TigerVNC
TurboVNC
Scope: Internet-based remote access tools extend remote access capabilities beyond the confines of a local network. Users can remotely access and control computers or devices from anywhere with an internet connection, making them suitable for remote work, telecommuting, or providing support to users in different locations.
Usage: These tools are commonly used for remote technical support, e.g. calling in VIOSO's support team or managing installations remotely.
Security: Internet-based remote access tools operate over the internet, which introduces additional security concerns such as data encryption, authentication, and protection against unauthorized access. These tools often employ robust security protocols and features to ensure secure remote connections over the internet.
TeamViewer
AnyDesk
Remote Desktop Protocol (RDP) - built-in feature in Windows operating systems
Chrome Remote Desktop
LogMeIn
These tools and products offer varying features, capabilities, and pricing options to meet the diverse needs for remote access and support. The choice between local VNC tools and internet-based remote access tools depends on factors such as the desired scope of accessibility, security requirements, and specific use cases.
VIOSO camera kits consists of computer vision cameras, typically using IP networks as interface. We recommend to use a dedicated network to connect cameras with the PC running VIOSO 6.
Using a dedicated network for VIOSO camera kits or other IP cameras offers several benefits:
IP cameras often have high bandwidth requirements, especially when streaming high-resolution video. By using a dedicated network, you ensure that the camera traffic does not interfere with other applications sharing the same network. This helps maintain consistent performance for both the cameras and other networked devices.
With a dedicated network, you can configure network settings, including firewalls and security settings, specifically tailored to the needs of the cameras. This allows you to optimize network performance by adjusting settings that might otherwise restrict bandwidth or communication. For example, you may choose to disable certain firewall rules or security protocols that could otherwise limit the camera's ability to transmit data efficiently.
By isolating the IP cameras on a dedicated network, you can potentially increase available network bandwidth for camera-related tasks. This is especially beneficial for scenarios where multiple cameras are streaming simultaneously or where high-resolution video streams are being transmitted. Turning off unnecessary network features and optimizing settings specifically for camera traffic can help maximize available bandwidth.
Fixed IPs: Setting up a network with fixed IP addresses is mandatory to use IP based computer vision cameras.
Avoid Routers and Managed Switches: Directly connecting cameras to the network interface of VIOSO servers or workstations, or using dedicated unmanaged switches, simplifies the network topology and minimizes potential points of failure or configuration complexity. This streamlined approach can enhance network reliability and ease troubleshooting.
By implementing a dedicated network for VIOSO camera kits or other IP cameras, organizations can optimize network performance, ensure reliable communication, and simplify network management and configuration.
required ports & services
To ensure VIOSO 6 functions properly, it's essential to allow the application to communicate through the Windows Firewall. Here is a list of ports (default settings) that need to be open:
TCP Port: 8317
UDP Port: 817
TCP Ports: 8417 and 8517
1. Open Windows Defender Firewall:
Windows 10: Type "Windows Defender Firewall" in the Start menu search bar and select "Windows Defender Firewall with Advanced Security."
Windows 11: Search for "Firewall & network protection" in the Start menu and click on it.
2. Create a New Inbound and Outbound Rule:
Inbound Rule:
In the Windows Defender Firewall with Advanced Security window, click on "Inbound Rules" on the left-hand side.
Click on "New Rule..." on the right-hand side.
Select "Program" and click "Next."
Browse and select the executable file C:\ProgramFiles\VIOSO6\SPCalibrator64.exe
, then click "Next."
Choose "Allow the connection" and click "Next."
Apply the rule to all network types ( Domain, Private, Public).
Enter a name and optional description for the rule, then click "Finish."
Outbound Rule:
Follow the same steps as above, but choose "Outbound Rules" instead of "Inbound Rules."
Mediaservers and workstations with multiple RTX GPUs (A4000 and above) should be equipped with a dedicated "Quadrosync" module. Such a module ensures that all connected displays and projectors are displaying everything in perfect sync and also help the playback software to deliver best performance.
Output synchronization must be activated every time a display has changed. Also, after setting up a Mosaic configuration, synchronization must be activated. Usually this is a singular task, but sometimes synchronization must be re-activated, e.g. if performance issues occur out of the blue.
Learn here how to activate Sync:
Close all running applications.
Navigate to “Synchronize Displays”
It takes several seconds and displays will probably blink. After that, Sync is enabled and you can close the NVIDIA Control Panel.
Setting up and optimizing onboard graphics cards for single and multi-monitor configurations on Windows 10 and Windows 11 involves a few key steps, regardless of the specific GPU brand. Here's a general guide:
embedded GPUs like Intel Iris/ARC, AMD Ryzen, etc.: We recommend to stick with the vendor of your workstation or let Windows handle the installation and maintenance of such embedded GPUs.
Single Monitor: Simply connect your monitor to the appropriate port on your PC (usually HDMI or DisplayPort).
Multi-Monitor: Connect additional monitors to available ports on your GPU. Most modern GPUs support multiple monitors.
Windows 10:
Right-click on the desktop and select "Display Settings".
Under the "Multiple Displays" section, choose "Extend" to enable additional outputs.
Adjust resolution, orientation, and other display settings as needed.
Windows 11:
Go to Settings > System > Display.
Under "Multiple Displays", choose "Extend" to enable additional outputs.
Adjust resolution, orientation, and other display settings as needed.
While the process to configure settings differs among Intel Iris/ARC, AMD Radeon/Radeon PRO, and NVIDIA GeForce graphics cards, it's pivotal to remember that presets optimized for specific use cases, such as gaming or presentations, might not be ideal for high-performance video displays. To ensure optimal performance across various applications:
Resetting to Default: It’s often advisable to start by resetting your graphics settings to their default. This can rectify issues caused by configurations optimized for a specific task but detrimental to general performance.
Custom Configuration: After resetting, manually configure your settings based on your specific needs. Focus on adjusting resolution, refresh rate, and settings for video playback quality.
Following these steps should help you set up and optimize your onboard graphics card(s) for both single and multi-monitor configurations on Windows 10 and Windows 11.
These settings apply when multiple instances of VIOSO 6 are connected via network to execute scalable calibrations.
Access from Menu > Options > Settings > Multi client
:
These settings should be checked and adjusted whenever a new configuration of PCs is made, or if changes in the network happened.
Check "Enable" to enable multiclient functionality
Adapter: Select the network interface - in case you have multiple NICs on your system
These settings should be be left as is, so do change them only if there are issues within the network:
Control Port and Information Port: These ports are required for the communication bewtween the VIOSO instances. Do not change unless they conflict with other applications on the same PCs.
Defaults ports as of VIOSO 6.0):
Control: 8417
Information: 8517
Receive Buffer: Change only if there are issues due to the networking hardware
Subnet mask clamp: Change only if required by the network adress scheme
These settings apply to remote control VIOSO 6 by external applications.
Access from Menu > Options > Settings > Remote Control
:
The TCP and UDP interfaces are enabled by default, listening all network adapters.
Change the adapter from 0.0.0.0 (all adapters) to a specific adapter to restrict the remote control functionality to this network interface
Change the ports in case of issues or conflicts with other applications.
Defaults ports as of VIOSO 6.0):
TCP: 8317
UDP: 817
VIOSO 6 supports all types of webcams that provide a camera stream through the Windows DirectShow interface. DirectShow is a multimedia framework and API in Microsoft Windows which comes preinstalled in typical WIndows 10 and 11 configurations.
Most webcams are compatible with DirectShow, making them compatible with VIOSO 6.
When selecting a webcam for the calibration of projectors, several important features are essential to ensure accurate and reliable results:
It's crucial that the webcam allows for manual control of key image acquisition parameters such as focus, exposure, and iris. Automatic features like auto-focus, auto-exposure, and auto-iris introduce variability and inconsistency in the captured images, which compromises the result of projector calibration.
A webcam with a wide-angle lens helps capture a larger portion of the projection surface, facilitating comprehensive calibration coverage. Additionally, a distortion-free lens is essential to ensure that the captured images accurately represent the geometry of the projected image. Distortion in the lens can lead to inaccuracies in the calibration process, resulting in suboptimal projection alignment.
Uninterrupted video transmission is essential for the pattern recognition during the calibration process. A webcam should provide stable and consistent video streaming without interruptions or dropouts. This applies also to any USB extender used in the signal chain.
A high resolution and image quality are desirable characteristics in a webcam for projector calibration. A webcam with high resolution and good image quality ensures that the captured images contain sufficient detail and clarity, enabling accurate analysis and adjustment of projector alignment.
Webcams, while versatile, exhibit several inherent limitations when deployed for projector calibration tasks. Recognizing these constraints is vital for achieving optimal outcomes and making informed decisions:
Webcams typically have a limited field of view, which may not adequately capture the entire projection surface or scene in large environments. This can result in incomplete coverage and may require multiple webcams or additional setup adjustments to capture the entire area effectively.
Wide-angle lenses in webcams may introduce distortion, particularly at the edges of the image. In large environments, where the projection surfaces may be extensive and require precise calibration, distortion can affect the accuracy of calibration and alignment.
At longer distances, the image quality captured by the webcam degrades as these products are designed for close range image acquisition. This can make it challenging to analyze and adjust the projector alignment accurately.
Webcams connect via USB with limited cable lengths. In large environments, achieving reliable connectivity over longer distances may be challenging, leading to potential signal degradation or dropout.
Large environments may have variable lighting conditions, including areas with low light or high contrast. Webcams with smaller sensors may struggle to capture clear images in challenging lighting environments, affecting the accuracy of calibration.
Use of Professional Cameras: In large environments, professional-grade cameras with interchangeable lenses and advanced features may offer better performance and flexibility compared to standard webcams.
For optimal performance in environments typically associated with low-range projectors, we highly recommend choosing USB2-based cameras that offer Full HD video quality. Our field experience suggests that these outperform USB3-based cameras for such specific uses.
Launch NVIDIA Control panel (right click on the desktop and choose from context menu)
Choose “On this System”, select Displays to Sync (on a Mosaic configuration there is just the Mosaic group available) and click “Server Settings”. Choose “The server refresh rate (internal timing) and click “Apply”
Find the official Quadrosync II user guide here:
AMD Radeon/PRO: Visit the to download and install the latest Radeon Software (Adrenalin Edition or Radeon PRO).
NVIDIA GeForce: Download and install the latest GeForce drivers from the or via the GeForce Experience application.
VIOSO offers ready made camera kits for all kinds of projection scenarios, even the most challenging ones. .
Logitech c930
1920x1080@30fps USB 2.0
78x46°
5 - 15 meters
Logitech c920
1920x1080@30fps USB 2.0
70x40°
5 - 15 meters
Logitech BRIO
3840x2160@30fps USB 3.0
78x46°
3 - 10 meters
Elgato Facecam
1920x1080@60fps USB 3.0
70x40°
3 - 10 meters
Calibration kits delivered since 2023/11
From November 2023 VIOS Calibration Kits are based on Daheng Imaging camera bodies. They are easier available and can be delivered worldwide. Each kit comes with the camera body, a suitable lens, and a PoE-Injector for running the camera on any switch or directly from the PC/server.
CK_W56-4 CK_W76-4 CK_W89-4
Wideangle calibration kit
1/1.8”
3088 x 2048
18 fps
56,8° x 44,0° 76,0° x 60,8° 89,0° x 73,8°
Yes
CK_QXX-4
HQ Calibration kit
1.1”
4096 x 3000
9 fps
16,10° x 12,10° 22,10° x 16,70° 31,50° x 23,90° 48,20° x 36,70° 60,00° x 46,90° 79,20° x 63,80°
Yes
CK_WQ95-4
HQ Wideangle kit
1.1”
4096 x 3000
9 fps
95,70° x 78,70°
Yes
CK_WU120-4 CK_WU135-4
Ultra Wideangle calibration kit
1/2.5”
2592 x 1944
23 fps
135,0° x 119,0° 110,0° x 94,0°
No
CK_T29-4 CK_T44-4
Tele calibration kit
1/1.8”
3072 x 2048
28,9° x 21,9° 44,7° x 33,9°
No
CK_FDN-4 CK_FDN-4b CK_FDQ-4
Fisheye calibration kit Fisheye calibration kit 1” sensor HQ Fisheye calibration kit
2/3” 1” 1”
2448 x 2048 2592 x 2048 4508 x 4096
23 fps 20 fps 6 fps
365,00° x 185,00°
No
CK_FDY220-4 CK_FDY250-4 CK_FDY280-4
Hyperfisheye calibration kit
1/1.7” 1/1.7” 1/2.3”
4024 x 3036 4024 x 3036 3840×2748
9 pfs 9 fps 10 fps
365,00° x 220,00° 365,00° x 250,00° 365,00° x 280,00°
No
Mount the camera and connect camera to PoE injector and the PoE injector to the network and power.
(a) PoE (Power Over Ethernet)/DATA: Connect the camera to this socket (this will power the camera and a small light will flicker).
(b) DATA: Connect the Ethernet cable to the PC/server or to a switch.
Check GigE Vision
Check DirectShow
Check Enable Jumbo Frames
Reboot the system.
Make sure that the camera is connected and powered (PowerLED “blue”)
If the camera is connected, it shows within the “GigE” tree under the network adapter.
After this, the camera gets a fixed IP and is marked as available.
This way the camera has a fixed IP, that will make all subsequent tasks for calibration more transparent.
Once the camera network configuration is complete, the camera icon gets green (1), indicating that the camera is ready to be operated. Launch the preview by double clicking the camera (1) and press the “Play” Button (2) in the top button bar to display a live camera image.
Now it’s time to switch off all ambient light sources and have the projectors powered on. Use the live view to position the cameras while filming the projection surface. The projectors should display a solid color (ideally white) so that the camera can be set to an appropriate sensitivity.
Switch to the tab “Common Functions” (3) to handle the most important parameters of the camera sensor:
Exposure mode: Timed
Exposure Auto: always set to OFF! Exposure time: Set to a value that matches with the brightness of the filmed scene. By setting the exposure, the framerate automatically adapts accordingly. Please evaluate the exposure when projectors are displaying bright content, filling all the projection area.
Gain: Set to 0.000 (dB) if the camera image is too dark, you can carefully increase the gain. Try to maintain a high contrast when setting a user defined gamma value.
GainAuto: always set to OFF!
In good conditions, where the camera get sufficient light, there is no need to make any changes, but in challenging environments, the analog control parameters of the camera can help to increase the sensitivity of the sensor. We recommend to leave these parameters unchanged as long as possible. If optimizations are required, start changing the Blacklevel parameters, then the Gamma parameters and use the Gain parameter only as a last resort.
Select the “Device” Tab and expand “Analog Control”:
Gain: if the camera image is too dark, you can carefully increase the gain. Try to maintain a high contrast when setting a user defined gamma value.
GainAuto: always set to OFF! Therefore, the values AutoGain are not used
GammaEnable: this will enable the camera sensor gamma behaviour which results in a different sensitivity. Enable only if it is really hard to get a proper projector pattern detection and choose GammaMode=SRGB
Gamma: Once enabled you can set the gamma value here.
Blacklevel: This is a good parameter to have the projector patterns displayed properly while “hiding” darker parts. Start optimizing the camera behaviour by changing this value first, before trying Gain or Gamma.
fisheye lenses produce a sqare image, but the sensors aren’t square. For the use of 3D features in VIOSO (“MRD”), it is important to set the camera to a square pixel resolution. Therefore, a custom resolution based on the sensor height resolution should be set according to the sensor height resolution and with an offset to match the lens at the center.
To change the sensor resolution, STOP the current camera stream (1)
Set the parameters “Width” and “OffsetX” to get a square resolution, centered on the sensor (2) – see table below:
Parameters:
CK_FDN-4 Fisheye calibration kit
2448 x 2048
2048
2048
208
0
2048 x 2048
CK_FDN-4b Fisheye calibration kit
2592 x 2048
2048
2048
272
0
2048 x 2048
CK_FDQ-4 HQ Fisheye calibration kit
4508 x 4096
4096
4096
208*
0
4096 x 4096
CK_FDY250-4 250° Hyperfisheye calibration kit
4024 x 3036
3036
4024
496*
0
3036 x 3036
CK_FDY280-4 250° Hyperfisheye calibration kit
3840 x 2748
2748
2748
548*
0
2748 x 2748
*) due to limits of the firmware, the value must be a multiple of 4, therefore it’s adjusted
Start the camera stream again (1) and the sensor resolution has changed
All settings made in the Galaxy software stored on the local PC, but not inside the camera. To have the configuration persistent, the camera provides a “UserSet” storage slot.
To store the current configuration, Stop the current playback and access the “User Set Settings” Dropdown from the Device Tab:
Select “Save as UserSet0 and Set as Default” to have the current settings stored and used whenever the camera is used.
First make sure it is plugged correctly. Try connecting it directly from the PoE switch to the PC network adapter to exclude all external LAN issues.
If the camera is still completely missing, it might have an internal network discovery problem. For this you can use this tool to recover it:
First enumerate the device
Input the MAC address of the camera: It is usually written on the sticker underneath the mounting adapter.
Set the desired IP address. Must be in the same segment as the network adapter.
Click “Resume device IP” and finally enumerate the device to see whether the camera will appear in the list.
In Galaxy Viewer, when switching between cameras views, stop acquisition on the previous first or you will have bandwidth error warnings.
In VIOSO MRD window (Model View Control) you might not see the camera full name in the dropdown menu. To check if it’s the right camera assigned, open the MRD file you created in a text editor. It is in XML format where defCamName
parameter refers to the camera that calibrated the selected compound.
Optional tip: It can be helpful to fix camera custom names in GxGigEIPConfig (see above ). They will appear in VIOSO under “adjust camera > Options > Camera info”
Legacy calibration kits, delivered until 2022
Legacy VIOSO Calibration comes with the camera body, a suitable lens, and a PoE-Injector for running the camera on any switch or directly from the PC/server.
The following instructions apply to camera kits with a body from “IDS Imaging”:
CK_FDU
Fulldome Calibration Kit USB
IDS uEye CP
USB 3.1
2/3”
1920 x 1200
360° x 185° fisheye
CK_FDY280
Hyperfisheye Calibration Kit USB
IDS uEye CP
USB 3.1
1/2.3”
4912 x 3684
360° x 280° fisheye
CK_WQ95/XX
Super HQ Calibration Kit
IDS uEye CP
GigE
1.1”
4104 x 3006
95,70° x 78,70° … 16,10° x 12,10°
Mount the camera and connect camera to PoE injector and the PoE injector to the network and power.
(a) PoE (Power Over Ethernet)/DATA: Connect the camera to this socket (this will power the camera and a small light will flicker).
(b) DATA: Connect the Ethernet cable to the PC/server or to a switch.
Install driver
After installing and rebooting, you will be able to use the IDS Camera Manager to control the basic network settings of the camera.
If you see a yellow icon on the top of your window next to your camera, there has been an error (The error warning will be in red on the bottom of the window).
There are several warnings that can show up due to IP addresses being wrongly set, or relating to the camera’s firmware.
Before proceeding to configure the camera, make sure that the network interface is set to a fixed IP. Locate & open the IDS Camera Manager application (it can be found in: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\IDS).
Run IDS Camera Manager.
Select the NIC that is connected to the same network as the PoE camera.
Select the camera from the Camera list.
Select Automatic ETH Configuration.
Close the software.
Your camera should be working correctly and the window must no longer show an error message. The main window should look like this:
To test the camera, use the application “uEye Cockpit”.
Choose the mode "Live video":
Click on the play icon with the camera in the top-right corner (under the”File”menu).
Note that the image may be rotated 180 degrees if the camera is mounted “upside down”, which can be fixed by clicking on the wrench icon, selecting the Size tab, and mirroring the left/right and up/down under the “Format” section.
Adjust the zoom and iris settings by loosening the screw locks counter-/anti-clockwise, positioning.
Then appropriately using the camera feed for preview and tightening to lock them into place.
Close all windows when testing is complete.
DirectShow support: must be available either natively (most USB cameras) or with the driver installation (Dehang, Hik, IDS..) or via 3rd party converters.
You can run the application AMCap to test if your camera is properly listed as a direct show device
C:\Program Files\VIOSO6\Shared tools\AmCap64.exe
When comparing IP-based computer vision cameras, webcams, and SLR cameras for use in projector autocalibration, several factors come into play, including resolution, image quality, field of view, connectivity, and cost. Let's analyze each type of camera:
Resolution and Image Quality: Based on computer vision cameras with network interface, these cameras enable a most detailed capture of the projection surface and can be adapted to serve all kinds of projection environmants
Field of View: Computer vision cameras can have a wide field of view, which is advantageous for capturing large projection surfaces in one frame. This wide coverage reduces the need for multiple cameras and simplifies the calibration process.
Connectivity: IP-based cameras connect to the network, allowing for remote access and easy installation.
Cost: While IP-based computer vision cameras tend to be more expensive than webcams, they offer advanced features and capabilities suitable for professional projector calibration tasks.
Resolution and Image Quality: Webcams vary widely in resolution and image quality. While some high-end webcams offer decent image quality, they generally have lower resolutions and may not provide the level of detail required for precise calibration in large environments.
Field of View: Webcams typically have a narrower field of view compared to computer vision cameras, limiting their usage.
Connectivity: Webcams connect via USB or other interfaces, limiting cable lengths and potentially causing connectivity issues in large environments. They are more suitable for smaller-scale setups or environments where cable length is not a concern.
Cost: Webcams are generally more affordable than IP-based computer vision cameras and SLR cameras, making them a cost-effective option for basic projector calibration tasks.
Resolution and Image Quality: SLR cameras offer high resolutions and superior image quality, capable of capturing fine details and color accuracy. They provide excellent image clarity, making them suitable for precise calibration in large environments.
Field of View: SLR cameras typically have interchangeable lenses, allowing for flexibility in adjusting the field of view to suit different projection surfaces.
Connectivity: SLR cameras connect via USB or HDMI, offering reliable connectivity and high-speed data transfer. They may require additional hardware or software integration for image acquisition.
Cost: SLR cameras are the most expensive option among the three, mainly due to their advanced features, interchangeable lenses, and superior image quality.
For professional projector autocalibration in large environments requiring high resolution, wide field of view, and superior image quality, a dedicated VIOSO Calibration kit is the most reliable solution, wich full support by VIOSO
Webcams, while more affordable, may lack the resolution and image quality required for precise calibration in large environments but can still be suitable for smaller-scale setups or basic calibration tasks.
SLR cameras, while both providing high image quality and flexibility due to interchangeable lenses, might cause issues by providing a high resolution live-camera stream to VIOSO 6. Additional capturing devices of third party software might degrade the user experience.
These days, there are a lot of IP-cameras provided with the software that can stream a video using the Directshow framework, which is required for VIOSO Core.
In this case, this type of camera can be used for calibration (For example: AXIS ip-cameras and its AXIS Streaming Assistant).
If there is no such software provided by the camera manufacturer, you can use this converter:
It converts MJPEG stream into Directshow video source in Windows.
If you are going to use this option of IP camera, please consider these important points:
Few IP cameras were tested for calibration, so we can not guarantee that the camera you have will be fully supported by the VIOSO software. Please run through the tests before making a decision.
A lot of IP cameras have no fully-manual mode, which is required for the calibration. These cameras only have automatic control of gain, exposure, or focus, which makes them impossible to use for the calibration. Full manual mode is required.
Projector black level refers to the level of darkness or how black the projected image appears when there is no input signal or during dark scenes in a video or presentation. It is a crucial aspect of image quality, especially in darkened environments or when watching content with a lot of dark scenes, such as movies with a high contrast ratio.
The nature of projector black level is influenced by various factors, including:
Display Technology: Different projector technologies (LCD, DLP, LCoS) have their inherent characteristics that affect black levels. For example, DLP projectors tend to have better native black levels compared to LCD projectors.
Contrast Ratio: The contrast ratio is the difference between the brightest and darkest parts of an image. A higher contrast ratio generally leads to better black levels.
Light Source: The type of light source in the projector (e.g., lamp, LED, laser) can impact black levels.
Optical System and Lens: The quality of the optical components and lens used in the projector can influence the light control and, in turn, the black level performance.
Choose optimal Image mode: Engage the projector’s “cinema” or “movie” mode. These modes typically reduce your projector’s light output, but improve its black level performance in a darkened room.
Optimize the projector brightness: Adjust the projector’s brightness setting to its optimal level. To do this, project a sample frame of typical content that comes with large black areas. Turn the projector’s brightness control up all of the way, so that the bars become grey, then gradually turn it down until they become black. You want to stop at the point where turning the brightness control down more does not make the black bars any darker.
Optimize the projector’s contrast setting: Put an image on screen with a broad range of brightness values – preferably from pure white to pure black. Turn the contrast up so far that the lightest areas bleed into each other, then turn it down until the areas begin to differentiate from each other, stopping before the image gets darker without adding additional detail.
It’s essential to note that the performance of projector black level is a limitation determined by the projector’s inherent capabilities and design. While the measures above can improve black levels, they won’t fundamentally change the projector’s native black level performance. Therefore, choosing a projector with good native black level capabilities is crucial if this aspect of image quality is essential to you.
In multi-projector configurations, where multiple projectors are used to display a single large image or a seamless blend of images, projector black level becomes even more critical. Misalignment of black levels between projectors can lead to visible seams, reduced image quality, and a loss of image uniformity. Here’s how projector black level affects image quality in multi-projector setups:
Visible Seams: If the black levels are not consistent across all projectors, the transition between adjacent projected images can become visible as seams or discontinuities. This is especially noticeable in dark scenes or areas of the image.
Reduced Image Uniformity: Inconsistent black levels can result in variations in brightness and contrast across the projected image, leading to reduced overall image uniformity.
Image Quality and Immersion: For multi-projector setups that aim to create large-scale displays or immersive environments, maintaining consistent black levels is crucial for a seamless and immersive viewing experience.
To compensate for projector black level variations in multi-projector configurations, two common techniques are used:
Optical blending means to add physical blends in front of the projector that blocks the light path of the projected images from adjacent projectors to create a seamless transition between them. By carefully adjusting the blending shape, including a certain feathering of it’s edges, the transition between adjacent projected images becomes less noticeable. The goal is to match the black levels between projectors to minimize the appearance of seams and provide a smooth blend. It takes specialized vendors and a carefully designed projector environment to manufacture and deploy such blends. Optical blends are created individually for each projector configuration and usually takes several month for measuring, manufacturing and deploying.
Optical blends are the preferred solution for dark environments and high quality exceptions such as simulators, dome projections, rides/flying theaters, scientific or research facilities and high-quality AV installations as they preserve the individual projectors image quality and maintain the overall contrast.
Black Level Uplift is a software-based technique to compensate for differences in black levels among multi-projector installations.
Overall, Black Level Uplift is a valuable technique in multi-projector configurations, especially when displaying dark contents. It works best with high-quality projectors that come with a high native contrast and well balanced individual black level. It also works best in large environments.
In small scale environment with short viewing distance, or when using low-quality projectors (especially DLP projectors) it gets hard to have a good result solely using Black Level Uplift and thus the use of optical blends should be considered.
Measurement and Analysis: To implement BLU, the overlapping regions of all projectors in the multi-projector setup are measured and analyzed. This involves measuring the darkest level that each projector can achieve when displaying a completely black image.
Adjusting black level masks: By fine tuning these masks carefully, black levels of all projectors is raised to the same reference level, the projected images become more uniform, and the visible seams or differences between adjacent projectors are minimized.
Can be applied on-the-fly: In contrast to optical blends (see above) Black Level Uplift can be applied any time after the projector installation.
Lower costs: Compared to optical blending Black Level Uplift does not require custom engineering and dedicated mechanical works.
Flexibility: Black Level Uplift can be adapted anytime to changing situations, e.g. if projectors are moved or otherwise changed. Physical optical blends would need to be re-engineered in such a case.
Reduces overall contrast: Whereas optical blends reduce the light output physically, black level raises darker areas to match all projectors to the same uniformity. This noticeably reduces the overall image contrast.
Problematic the more overlaps are appearing: The more often projectors overlap, the higher the Black Level Uplift must be set, thus reducing the contrast even more. Black Level Uplift works best for overlaps between 2 projectors, such as for a panoramic screen, whereas grid-like overlaps are very difficult to match towards are satisfying result.
Limited by individual projector quality: When using low-cost or otherwise inappropriate projectors, projectors that are not color matched or projectors of different age, the capabilities of matching all projectors to the same uniformity are limited, leaving still visible seams between each projected image.
Limited by dead pixels (DLP projectors): DLP projectors typically output a certain margin of pixels all around the image, that are not addressed by the video signal but still visible in dark contents (“dead pixels”). Therefore, these pixels cannot be handled by Black Level Uplift and are visible as thin lines. VIOSO Calibration technology tries to minimize this effect by adressing these pixels indirectly from overlapping pixels of other projectors, but this measure is naturally limited.
Black Level Uplift must be applied within the image generating solution. These applications are currently able to process Black Level Uplift:
Video applications:
IOVERSAL Vertex VIOSO
AV Stumpfl Pixera (from version 2)
Black Level Uplift is also part of the generic Multiple Projection Common Data Interchange format (MPCDI). Applications that support MPCDI and process Black Level Uplift masks are:
Dataton Watchout (from version 7)
Green Hippo Media Servers
Realtime environments:
Unity: URP, HDRP, SRP
Unreal: using VWF files from UE 5.3.0 release
VIOSO API:
If you use the VIOSO API in your application as a plugin or a post-process, you can read and render blacklevel maps starting from API release version 1.6.
Simulations applications:
Use our Calibration Kit Finder to select the appropriate camera based on screen dimensions and camera distance:
Download:
Install driver:
Run the application “GxGigEIPConfig”.
If the network adapter is not active, the camera gets an address starting with “169.254…”. In this case it is required to reconfigure the network interface to a static IP. Right-Click the network adaptor and select “Network card configuration tool”:
Click the Button “Netcard Protocol Property” to access the Windows network settings. Change to static IP setting and enter an appropriate IP (e.g. 10.0.0.1 / 255.0.0.0 for a point-to-point connection). If the network already is set to a fixed IP, you can skip this step. Terminate everything with “OK” and “Apply”.
The camera can be configured by clicking “Auto Configure IP”.
Optional: Right-Click on the camera name and open the “Modify IP Address” dialog. Enter an IP of your choice that fits to the IP range entered for this ethernet connection (e.g. 10.0.0.12 according to the example above). You also can change the device name of the camera.
All settings of the camera can be done in the “Galaxy Viewer” software. It is a complex tool, allowing a lot of settings to be made. But we recommend to stick to some very fundamental settings only, leaving as much as possible untreated. All settings that are done by the Galaxy software are temporary, unless you save them as a user set (see below).
If only one camera is showing up in DirectShow (and VIOSO), you can run the Daheng C:\Program Files\Daheng Imaging\GalaxySDK\DirectShow\DX
GxDirectShowRegister.exe tool to register the total number.
If the executable is missing in the DX folder, you can downlaod it from here:
The cameras should then show as “Daheng Imaging Device 1 .. 2 ..3 ” etc.
Download:
Learn here how to set a fixed IP in Windows:
Control features: parameters like fixed focus, exposure, frame rate and resolution must be available for the user to adjust when preparing to calibrate.
+ Additional requirement specific for: the parameters of the camera must be known to properly map its position in the 3D world, mainly the value of the field of view (in degrees) of the exact image resolution used during the scan.
Our , come with the proper driver that meets all requirements, and are provided with a datasheet containing the necessary information for 3D mapping.
VIOSO cooperates with various independent manufacturers of optical blends. Please if you like to discuss this matter for your installation.
Creating black level masks: Once the black levels and overlapping areas are measured, the area on the screen with the darkest black level is considered the reference. The black levels of the other projectors are then adjusted or “lifted” to match the reference black level. This results in an additional layer of “masks” that are applied on each projector. Those mask are also coming with soft edges to compensate the area of dead pixels occuring on DLP projectors. VIOSO’s calibration tools are able to create such blacklevel masks.
(from version 2.3)
Probably other media servers using MPCDI are supporting Black Level Uplift as well. Please if you know about solutions not listed here.
Learn more on our bitbucket page:
Whether a specific simulation application supports Black Level Uplift depends on numerous factors, like vendor, version, license feature set, etc. Please to find out if and how Black Level Uplift can be incorporated to a specific simulation environment.
How to evaluate and configure projectors to improve blending quality
It is well known that projectors behave differently when they are used for multi-projection with softedge blending. The combination of factors like image matrix technique, optical lens, and projection surface has a significant impact on the quality of blended multi-projection.
This diagram represents the common direction of the mentioned parameters and how they can influence softedge blending results. It is not considered to be a precise guide for projector type selection, but gives an understanding of how high you can expect a final result to be:
Ultra-Short-throw projectors (UST) or mirror lenses are usually the most problematic type of projectors in terms of blending. The problem lies mostly in uneven brightness distribution, and therefore non-uniform color shading across a single projector image. These projectors are designed to be used only on flat surfaces, so using them on curved surfaces such as domes, cylinders, or other shapes will cause significant problems such as: Soft-focus on projection edges, massive pixel distortions and size variety across projection image, and uneven brightness.
On the other hand, professional projectors can provide a superb image quality. Using better color-wheels that are specially designed for blending purposes (i.e. projectors for simulators) or triple LCD matrix or SXRD technology, providing an outstanding black-level together with convenient standard or telephoto lensing improving the final multi-projection result.
The Projection surface is very important. Note that black color from your projector is physically no projection and no light coming from the projector showing a black pixel. Thus, any color shade of the projection surface will effect as a colorfilter for the whole projection.
Ideally, the projection surface is designed for projection (projection screen, dome in-liner, projection foil or paint). It has to be reflective to increase the brightness and efficiency, this is called its “gain”. However, the surface should be matte--to avoid light spots and absolute reflections from the lamp of the projector. The Worst type of projection surface would be black polished glass, while the best result will be given on a matte white surface.
Content being displayed is often underestimated in terms of its capability to hide or identify limitations of the softedge blending. As a matter of fact, bright, colorful, and dynamic content is very forgiving. It will hide all imperfections and decrease the effect of low-quality blending. Solid colors, smooth gradients, and shades are usually the most difficult content as it highlights projection problems such as color mismatch of projectors, blending mask issues, brightness non-uniformity, etc.
Consideration of the content to be displayed can help to configure optimal projection setup within given budget. Obviously, bright, vivid, and colorful projection can be carried out using a lower budget projector. But whiteboards or blue sky content (flight simulators) will be very demanding in terms of projector and blending quality.
Make sure all of the parameters of the projection image are identical (brightness, contrast, gamma, color modes, etc.)
Switch off any dynamic functions, such as dynamic gamma, dynamic brightness, etc.
Choose preferred mode as „Video“ instead of „presentation“, „eco“, „game“, etc.
Choose gamma around 2.4 (film mode).
VIOSO 6 comes as a standard Windows Installer. The most recent version of the installer is avaliable from this generic URL:
Some notes on the installation:
An existing installation of VIOSO 6 is replaced
Run the installer as admin
Confirm all SmartScreen Prompts
Default installation directory: C:\Program Files\VIOSO6
We recommend to go with the default installation option as they guarantee the highest compatibility and ease of installation
Supported via third-party application "Sparko Cam"
Digital SLR cameras made by Nikon or Canon can be used for calibration, connected with a USB cable.
For this purpose, the camera has to operate in the web-camera mode.
While some cameras have this mode in their firmware, most cameras do not , so a different third-party software can be used for this conversion:
Need information about the activation or maintenance status of a license? Or retrieve a license key? There are several ways to access these information.
After activation, the license Wizard does not show up at program startup anymore. You can access it anytime from within the application this way:
Open the Licence viewer
VIOSO 6: Menu Help
– Info about this program
– License
In the software, launch the Licence Wizard and click Activate your license
, followed by Activate online
(regardless if the PC is online or not).
The activation key is displayed in the form field. Retrieve it via copy & paste for any subsequent task.
The license information contain: Version & Features.
Product:
Displays the currently installed program version
X * VIOSO
: Amount of channels that are avaliable for calibration. Please note that several entries can exist - the amount of channels is cumulative.
To find out the status of the maintenance, please us the Online-Ressources as described below.
Get License Information
provided information about:
product version
license model (permanent or trial)
number of licenses (number of PCs that can be activated at the same time)
maintenenace validity: date of maintenance expiry
E-Mail License Keys
Returns a list of all licenses that are associated with your e-mail address.
This includes also trial licenses that are not expired.
If you want to test VIOSO 6, a demo license is required. It’s easy to create one.
The demo license is sent to you via e-mail after a few seconds, so make sure to enter an e-mail address that you can access.
If you run VIOSO 6 without a permanent or demo license, you will be prompted with this dialog stating "No license key was found on your system":
Click Create Demo License
and fill the form with valid data. Click on Register
and a demo license is created for this particular PC:
After registering a new demo license is created and applied directly. You can then close the License Wizard and proceed starting the application.
Today, all professional graphics cards come with DisplayPort outputs only. HDMI on the other hand is the most wide-spread cabling. The use of display adaptors therefore plays a crucial role in the video signal chain.
Display adaptors, also known as display connectors or video adapters, are hardware devices or cables used to connect different types of displays to a computer or other multimedia devices. They are essential for ensuring compatibility between various display interfaces, allowing users to connect monitors, projectors, or other output devices to image generators.
The most common type of display adaptor for use in media server and simulation environment is the DisplayPort to HDMI adaptor. Let’s break down the role and purpose of this particular adaptor:
Compatibility between DisplayPort and HDMI: DisplayPort and HDMI are two distinct display interfaces commonly found on modern computers and display devices. DisplayPort is more prevalent in PC hardware, while HDMI is widely used in consumer electronics like TVs and projectors.
Signal Conversion: DisplayPort and HDMI use different signal formats, so a direct connection between the two ports without any conversion would not work. The DisplayPort to HDMI adaptor serves as a signal converter, translating the digital video and audio signals from the DisplayPort output to a format compatible with HDMI input.
Support for Audio and Video: DisplayPort to HDMI adaptors typically support both video and audio signals.
Resolution and Refresh Rate Support: Current DisplayPort and HDMI versions support high resolutions and refresh rates. The adaptor should be designed to handle the resolutions and refresh rates supported by your specific devices. Especially when using resolutions beyond “standard UHD resolutions” (greater than 3840 x 2160@60Hz), many off-the-shelf adaptors fail to handle such resolutions properly.
One-Way Direction: DisplayPort to HDMI adaptors are unidirectional, meaning they can only convert signals from DisplayPort output to HDMI input. They cannot be used in reverse to convert HDMI output to DisplayPort input.
Compatibiliy to NVIDI Mosaic: One of the most persistent issues when using NVIDIA Mosaic are when using improper display adaptors. Whenever NVIDIA Mosaic is to be used, you have to ensure using adaptors from the same brand and model. Mixing adaptor types leads to failure messages like “cannot apply Mosaic due to a firmware related issue”.
Quality of adaptors: Make sure that the adaptors are specified for the designated resolution and refresh rate and color depth. Especially resolutions beyond standard TV signals like 16:10 formats, refresh rates beyond 60Hz and resolutions beyond 3840 x 2160 often overstrain non-quality adaptors.
DisplayPort to HDMI adaptors serve the purpose of bridging the gap between the DisplayPort output of a computer or graphics card and the HDMI input of an external display. They provide signal conversion, audio-video support, and enable users to connect their devices to a broader range of displays with different interfaces.
Commercial solution
Free of charge, but seems complicated and not capable of delivering the full resolution.
To retrieve License information, use the License Wizard and click the Icon:
Visit our License Self-Help website:
To get the latest version of VIOSO 6, please visit and download the Installer for VIOSO 6. Fill the form below to receive a demo license:
Before using the software, an acitvation key needs to be activated. This works best if the PC is connected to the internet.
After an order is placed, the activation key is created by VIOSO according to the order specification and transmitted to you typically via E-mail.
At the first start of VIOSO 6, the License Wizard shows up:
Choose Activate Online
Learn here how to activate VIOSO 6 if the PC is not connected to the internet: Offline Activation
Enter the activation key. We recommend to “copy and paste” from a text source to avoid typos. Continue clicking Activate
:
The activation key now is verified on our license server and locked on the PC. This takes only a few moments until Your license is activated
is shown. Click Finish
to close the the Activation Wizard.
The application automatically starts up. With such an activated license, the Licence Wizard is not shown anymore.
Before using the software, an activation key needs to be activated. Usually this happens online in real time. If the PC does not have an internet connection, you can do the activation from another PC or using a mobile phone. Both ways are explained:
Have the PC to activate, the activation key and another PC with internet access ready.
On the PC that ist to be licensed, run VIOSO 6. At first start the License Wizard shows up. Note the version you are actually running.
Click Activate your license
and then Activate Offline
Enter the activation key in the first formfield
Choose the software version that fits to your license from the dropdown
Enter the Computer Identifier in the third form field.
Click Activate
and you receive the Computer Bound Key
. Note this Computer bound key and return to the License Wizard.
Return back to the License Wizard
Enter the Computer Bound Key
that has been generated online
If everything is entered correctly, press the button Activate
.
The activation key now is done and the license is locked on the PC.
Click Finish
to close the the Activation Wizard.
The application automatically starts up. With such an activated license, the Licence Wizard is not shown anymore.
Have the PC to activate, the activation key and mobile phone with a functional camera for QR-reading ready.
On the PC that ist to be licensed, run VIOSO 6.
Click “Activate your license” and then “Activate Offline”
Open the URL referenced by the QR Code: You will be presented the Computer Key. Note this key and return to the PC that is to be activated.
Return back to the License Wizard:
Enter the Computer Key (and the Activation Key if not already present).
If everything is entered correctly, press the button “Activate”.
The activation key now is done and the license is locked on the PC.
Click “Finish” to close the the Activation Wizard.
This error indicates that the license on the very PC does not match to the version of the currently installed VIOSO 6 version. This happens after you perform an upgrade or downgrade.
After each change of the VIOSO 6 software, the license is checked online. Therefore, two things can happen:
Upgrades Check if your license is eligible to run the desired version (release date of the software version must lie within the maintenance period).
If OK: Check your internet connection. Start the software with internet available and the check will perform in the background. Alternatively, run an offline activation as outlined here: Offline Activation
If the maintenance is expired: Choose a version which is released within your maintenance period (see all versions and release dates here: Changelog and Version History). Or contact sales@vioso.com to get the maintenance for your license extended.
Downgrades (running earlier versions) They get always get a positive result => Check your internet connection. Start the software with internet available and the check will perform in the background. Alternatively, run an offline activation as outlined here: Offline Activation
This error happens mainly of this reasons:
When using the webform https://vioso.com/license-self-help:
The Computer Identifier was entered wrongly. Make sure to enter this Identifier correctly – ideally using copy&paste instead of manual typing.
The wrong version was selected in the webform. Make sure to generate the Computer Key for the version that is displayed in the License Wizard at startup (see above).
The Computer key was entered wrong in the License Wizard. This happens easily when typing in manually. Try to use copy & paste whenever possible.
Hyphens or whitespace don’t matter when handling activation keys. So however you are handling an activation key, just copy&paste – the licensing system will clear any hyphen, whitespace and probably other characters.
All about software maintenance and updates
VIOSO releases frequently updates for all products. From activation date, every license is authorized to get updates to newer software versions for 3 months. After this period you can renew your license to receive updates again. Your last eligible update will always continue working.
VIOSO Servers include 2 years of maintenance for preinstalled VIOSO applications.
The end of such update subscription is called the maintenance expiry date of a license. When this maintenance expiry date is reached, a license will not work for newer software versions. The license is still valid without limitations for older software versions.
Every license can be upgraded with a 1-year maintenance renewal at all time (even if the maintenance renewal date has already expired).
VIOSO 6 are actively developed and provide several releases per year. Your license is not restricted to a certain software version, but yields a certain maintenance period. During such an active maintenance period, you can install and use any update of the software, that is published.
Before you run an update, you should check if your license is eligible for an update.
The most easiest way to retrieve an update for VIOSO 6 is using the integrated License Wizard. Learn more about this procedure here: Find updates automatically
If the computer running VIOSO 6 is not online, you can retrieve the current status of the maintenance using our Licence Self-Help portal.
Retrieve your activation key: Getting the activation key in VIOSO 6
Click Get License Information
and enter the activation key
Information about the maintenance period is returned among other useful information:
If the software release lies within the maintenance period of your license, you can proceed by downloading the appropriate version of the software and install it. Learn more about this procedure here: Updating VIOSO 6
Whether you purchase additional features or channels, extend the maintenance period or get a locked license unlocked – in all cases you simply need to do another activation.
PCs that are online while running VIOSO will automatically get all changes in the licensing. There's nothing else to do, just run VIOSO while being online and all pending changes are applied at startup. Please note that this is done in the backround while starting the application. There's no dedicated feedback. If you want to double check that changes are applied, please have a look at the license information: License information
PCs that cannot have an internet connection need a manual activation. Please follow the procedure outlined here (Offline Activation): Offline Activation
Activated licenses can be moved easily between PCs. There is no limit how often a license is moved. Follow these steps to transfer an activated license from one PC to another.
This is the recommended way and works if the PC running VIOSO is connected to the internet
Launch the License Wizard (learn here how to launch the license wizard: License information)
Click Deactivate your licens
e – the deactivation dialog pops up with your activation key displayed. Click Deactivate
and your license is immediately removed from this computer:
The next time you start the application, it will show the License Wizard with the message, that no license was found on this system.
You can now either reactivate on the same PC or activate on another PC.
If the PC with the license is not connected to the internet, deactivation is pretty easy if you have a smartphone with online access at hand.
When clicking Deactivate
, a message box will appear, informing about the missing internet connection. Please have an arbitrary mobile phone at hand to continue.
Click Yes
and a window containing a QR Code shows up:
Scan this QR-code with the camera app on the smartphone. It will point to an internet address like https://license.vioso.com/….
As soon as you open the browser on this address, the license is recognized and released for another activation.
The next time you start the application, it will show the License viewer with the message, that no license was found on this system. You can either reactivate on the same PC or activate on another PC.
You can release the license using another PC which has internet access
When the dialog for deactivation appears, copy the license key and store it in a text file e.g. onto a removable USB drive:
When clicking Deactivate
, a message box will appear, informing about the missing internet connection.
Click No
and a window showing a Verificaton code shows up:
Click OK
and the deactivation is finished. Continue with Step 2.
Click Deactivate License
Enter your previously stored activation key and click Deactivate
. The license is now released for another activation.
We hope, that license transfers can be done while the licensed PC is up and running and ideally connected to the internet. However, situations happen where the licensed PC is out of reach, broken or beyond control. This is a major issue for usual license management system, but we offer a very user-friendly handling for such situations. All you need it the activation key, that was issued by obtaining the software. There are even other ways to retrieve your activation key: License information
You need the license key and a PC with internet access to continue.
Click Deactivate License
Enter your activation key and click “Deactivate”. The license is now released for another activation.
A pure online-deactivation yields the risk of multiple use of licenses. While the majority of our customers wouldn’t use this to cheat on licenses, we obviously must watch all licensees carefully. VIOSO 6 have implemented random background checks against illegal use of activation keys. So when a “dead PC” tries to use a deactivated license, the license will be locked and the PC is flagged as “illegal”and a note appears on the License Viewer:
VIOSO gets informed everytime an illegal computer is detected. In this state, it takes manual action from our end to unlock this license and you would need to contact our support team.
General infos & recommendations (Win10, Win11)
VIOSO 6 runs on Windows 10 and 11 (Home, Professional, Enterprise). It does NOT run on "Starter" Editions or restricted Embedded/IoT Editions.
Next to a fully working Windows environment, there are two depedencies that must be available on a Windows system:
Basically, VIOSO 6 runs best on workstations and servers that are built for professional graphics processing. However, handling multiple GPUs and the requirements for video data processing and output syncing can be an art on it's own.
VIOSO's camera kits are specialized solutions designed to simplify and streamline the calibration and alignment process for projector setups in various applications. Whether for large-scale projection mapping, immersive displays, or multi-projector configurations, VIOSO offers camera kits tailored to meet the specific requirements of professional projection projects:
1. All Purpose Kits
Most common used kits suitable for all kinds of projection setups.
Fixed lenses with low distortion.
HQ versions available for highest demands.
2. Fisheye Kits
For use in Domes, panadomes, cylinders and any other kind of spherical screen configuration.
Provide a full 360x180° image circle and square resolutions
Hyperspherical kits with an extended horizontal field of view (220° / 250° / 280°) available.
3. Special Purpose Kits
Made for long distances or close-quarter setups.
Heavy lens distortions must be taken into account.
Download our current calibration kit lineup here:
Over the past few years, multiple versions of camera kits have been introduced. Each version utilizes a different type of sensor, leading to variations in handling. The following pages provide detailed descriptions of these differences.
Network & Licensing
After installation, VIOSO 6 shows a dialog to make some important initial configurations (“First Init”).
In case you missed this dialog or want to change everything all over, there is a way to call this First Init:
From the Windows Start Menu, type “start first init” in the Search Field
Select the “First Init” shortcut from VIOSO 6 displayed like this:
Now you can simply click the shortcut and the “First Init” dialog will show up.
These are profiles, that give VIOSO 6 a basic configuration for certain use cases. Selecting an app configuration eases the handling of VIOSO 6 especially in larger installations:
Select the network adapter that VIOSO 6 can use for it's general work (nearly aspects of VIOSO 6 are handled via network for maximum scalability) as well as connecting to other VIOSO 6 instances.
If the discovery of other VIOSO 6 instances does not work or takes too long time, please check the network submask and set it eventually to a smaller subnet (wide subnet masks lead to an exponential node search time).
Select the path on the local system where VIOSO 6 can save it's work data like project files, calibration data, intermediate data, etc.
Keep in mind that calibration data can consume several GBs of data, depending on the number and resolution of projectors and cameras.
If not changed, the data path is set to this default path:
If checked, a set of usually global configuration files are copied to the data path specified above. Alterations in these ini-files have an effect of the behaviour of VIOSO 6.
This enables are more fine-grained configuration of VIOSO 6 in environments where system wide settings cannot be made easily or helps automating the setup in larger installations.
We recommend to leave this checkbox unchecked unless specificly advised by our support engineers.
Checking this box launches VIOSO 6 with after logging into Windows. This is required for at least these scenarios:
VIOSO 6 is used to embedd warping & blending to NVIDIA Quadro GPUs
VIOSO 6 runs as a client for calibration
Specifying a startup delay helps to avoid network issues. On some systems the network adapters get initialized quite late in the boot sequence. Set a certain startup delay to make sure the network adapter that VIOSO 6 is using is present.
To activate or deactivate the startup behaviour anytime after first configuration, access Menu > Options > Settings > Program > Startup options
:
Click Activate
to launch VIOSO 6 with Windows startup
Click Deactivate
to stop VIOSO 6 from being launched at Windows Startup.
Some notes on the installation:
Create a backup of your current calibration project
An existing installation of VIOSO 6 is replaced
An internet connection is required to activate the license after each upgrade and downgrade. Alternatively, an offline activation can be done.
The most easiest way to retrieve an update for VIOSO 6 is using the integrated License Manager: It will search for the most recent available update that is compatible with your maintenance status.
Access the License Manager via Menu > Help > Info about this program
and then button License:
There are two possible states:
A newer version is available that is within the maintenance period of your license:
Click on Update to the latest version
to view the release notes and initiate the download:
The VIOSO 6 installation program is downloaded to the Download
folder of the current user.
Make sure that you are able to run a program as admin. Proceed by clicking Install
and confirm the installation application to start with elevated rights:
The VIOSO 6 installer will pop up and guide you through the installation process. When asked to close VIOSO 6 and the license manager, please confirm - otherwise the installer cannot proceed. Installing an update will automatically remove the previous version of VIOSO 6.
The latest available version of VIOSO 6 that is compatible with the maintenace period of your license is installed:
Updating without using the License Wizard, e.g. on systems without internet access, is possible as well. Please follow these steps:
Search there for a version whose release date is within the maintenance period. The release date must be before the expiry date of the maintenance period.
Download the installer and execute it.
At the first run of the updated software, the license must be activated to match the new software version. If the PC is online, this happens automatically, as long as the update is covered by the maintenance of your licence.
At first run, the license viewer will pop up with an error message: The activation key does not correspond to version X.X
. This indicates that the installed license is not update yet, and thus does not match to the recently installed software version.
You therefore need to perform another activation.
If possible, establish a (temporary) internet connection and restart the software. The activation will happen automatically and VIOSO 6 will start normally. The internet connection can be disconnected afterwards, and the license remains.
When to use what mode
VIOSO 6 offers two operating modes: "project mode" and "free mode".
The project mode offers an easy-to-use workflow for the vast majority of projection scenarios. This makes it less flexible. Free mode corresponds to the behaviour of the calibrator as known from the previous versions. It offers all functionalities, but may require more programme knowledge and experience.
A calibration is understood as a project consisting of several steps that are processed one after the other.
These individual steps are in a complex relationship with each other, whereby the project mode automatically takes over the necessary tasks (conversions, intermediate storage, script generation). Project mode is therefore very convenient and safe to use for the user. Project mode covers the majority of VIOSO 6 use cases and is recommended for the following application scenarios:
Single Camera
Single Client and Multi Client
2D and 3D calibration
Export to common media servers and video players
Desktop Hooking (NVIDIA Mosaic) => one desktop
A project is a collection of files, which is why projects are saved as a directory. The default storage location is
Before VIOSO 6 was released, the "VIOSO Calibrator" was available as a standalone version or as part of the Anyblend suite.
The "Free Mode" corresponds to this behavior. VIOSO 6 offers all functionalities and maximum flexibility in the use of all features. However, this makes operation more complex, as you are in control of logical dependencies and the use of functionalities. Free mode is recommended for the following application scenarios:
multiple calibrations (including desktop hooking)
Experienced users who already know how to operate the calibrator
Complex simulation and video scenarios (especially multiple calibrations)
Scenarios that require advanced scripting and automation functions
In free mode, the main data are saved in *.sps files, these files resemble a calibration and complementary meta data. Scripts and other auxiliary files are handled manually by the user.
The default storage location is
The operation mode of VIOSO 6 can be switched nearly anytime during the program's runtime.
Please note that when changing modes, the memory files, in particular the calibrations, also change. This means that not only the mode itself is changed, but also the entire calibration project.
To work in the free mode, click “Switch to Free Mode” if VIOSO 6 is not already started in this mode.
In this section, we will explore the main components of the user interface in Free Mode, helping you to understand and utilize the different functionalities available. Many of these aspects are relevant for other modes as well.
(A) Channel Selection
A channel represents the pipeline consisting of input (test image, player, live input) and (B) output (target). Multiple channels are useful to handle several calibrations at the same time, e.g. to align the calibration of two walls of an immersive room.
Die Anzahl der verfügbaren Kanäle wird als globaler Programmparameter eingestellt: Menu - Options - Settings - Startup Settings - "Presenter Channel count"
A target represents the output of a render pipeline. This can be a single monitor or the result of a calibration, also known as a ‘display compound’. The dropdown displays all targets available in the current system state. Only one target can be played at a time.
This area contains dialogues and settings that affect the calibration currently selected as the target. These settings are available as soon as the render pipeline is activated (select from the ‘target’ drop-down box and press the ‘Activate’ button)
The warping tool for the currently selected calibration is located in this area. The tool is only active when the calibration is displayed (select the target from the drop-down menu and press the ‘Activate’ button). Under Menu - View - show input stream
, you can set the tool to display the current output on the target as a preview instead.
Here you will find buttons that guide you through the calibration process. The number and characteristics of the buttons vary depending on the mode.
A licence comes in form of an acitvation key (XXXX-XXXX-XXXX… or XXXXXXXX). The activation key represents a license by this data:
To execute the software, it’s license must be activated once on a PC.
You can check the state of your license either directly in the application, or online.
Calibration kits delivered since 2021 (discontinued in 2024)
Older VIOSO Calibration Kits arebased on a HiK Robotics IP camera camera. It comes with the camera body, a suitable lens, and a PoE-Injector for running the camera on any switch or directly from the PC/server.
Mount the camera and connect camera to PoE injector and the PoE injector to the network and power.
(a) PoE (Power Over Ethernet)/DATA: Connect the camera to this socket (this will power the camera and a small light will flicker).
(b) DATA: Connect the Ethernet cable to the PC/server or to a switch.
Run as Admin:
Make sure that the camera is connected and powered (PowerLED “blue”)
Run the application “MVS”.
If the camera is connected, it shows within the “GigE” tree under the network adapter.
In the window “NIC Configurator” click “Internet protocol properties” to access the Windows network settings. Change to static IP setting and enter an appropriate IP (e.g. 10.0.0.1 / 255.0.0.0 for a point-to-point connection). If the network already is set to a fixed IP, you can skip this step. Terminate everything with “OK” and “Apply”.
Right-Click on the camera name and open the “Modify IP Address” dialog. Enter an IP that fits to the IP range entered for this ethernet connection (e.g. 10.0.0.2 according to the example above)
This way the camera has a fixed IP, that will make all subsequent tasks for calibration more transparent.
All settings of the camera can be done in the “MVS” software. It is a complex tool, allowing a lot of settings to be made. But we recommend to stick to some very fundamental settings only, leaving as much as possible untreated. All settings that are done by the MVS software are persistent in the camera.
Once the camera network configuration is complete, the camera icon gets green, indicating that the camera is ready to be operated. Launch the preview by double clicking the camera and press the “Play” Button in the top button bar to display a live camera image.
Now it’s time to switch off all ambient light sources and have the projectors powered on. Use the live view to position the cameras while filming the projection surface. The projectors should display a solid color (ideally white) so that the camera can be set to an appropriate sensitivity.
Switch to the tab “Common Functions” to handle the most important parameters of the camera sensor:
Acquisition Framerate: Deactivate
Exposure Auto: always set to OFF! For the first time, you can set it to “once” to get an initial value of auto-exposure and start seeing a bright image, then turn it back off.
Exposure time: Set to a value that matches with the brightness of the filmed scene. By setting the exposure, the framerate automatically adapts accordingly. Please evaluate the exposure when projectors are displaying bright content, filling all the projection area.
Gain: Always leave set to 0. Driving the camera brightness using digital gain often has a bad impact on the scanning stability.
Gamma Enable: OFF/ON – if the camera image is too dark, enable Gamma and use either of the selectors to change to an appropriate level. Try to maintain a high contrast when setting a user defined gamma value.
Switch to the tab “Image Properties” to crop the image. By reducing the image size, e.g. cropping unnecessary parts of the image, the frame rate can be increased, this speeding up the scanning procedure.
Draw ROI [Edit]: Starts an interactive drawing tool that helps positioning the region of interest onto the current camera image. By dragging and resizing, the values for Offset X/Y and size of the ROI are adjusted. Click the “confirm” icon at the bottom right corner of the rectangle to activate the region of interest, thus cropping the other parts of the image
Restore Max. ROI: resets all settings so that the whole image is used
Example: To set the ROI of a fulldome calibration kit to match the fisheye lens, set…
Width = 2048
Offset = 256
Even though all settings made in the MVS software are immediately stored inside the camera, it is still possible to handle multiple sets of configurations. This “User Control sets” menu is accessible from the top right button bar. Usually it is not required to handle several parameter settings, but if there is a demanding situation the usage of several user sets can help to maintain a well-controlled workflow.
You can also set “Start Settings” to be your specified User Set if you experience problems of camera losing its setting on reboots or after unplug/replugs.
In MVS, when switching between cameras views, stop acquisition on the previous first or you will have bandwidth error warnings.
In VIOSO MRD window (Model View Control) you might not see the camera full name in the dropdown menu. To check if it’s the right camera assigned, open the MRD file you created in a text editor. It is in XML format where defCamName
parameter refers to the camera that calibrated the selected compound.
Optional tip: It can be helpful to fix camera custom names in MVS (Right Click the camera > Rename User ID ). They will appear in VIOSO under “adjust camera > Options > Camera info”
Read the “Computer Identifier”
Change to the device with internet access an browse to: . Click Activate a license
.
Enter the Activation Key and click “Scan QR Code”
The application automatically starts up. With such an activated license, the Licence Wizard is not shown anymore. .
Visit our License Self-Help:
On the PC with internet access, browse to the License Self Help:
On the PC with internet access, browse to the License Self Help:
A very comprehensive guide how to tweak Windows 10 for such use-cases is provided by Dataton:
VIOSO provides updates on a occasional scheme. Check the changelog for detailled information about release dates, changes and downloads:
Otherwise you will run into this error:
Retrieve the information about the maintenance period as described here:
With the maintenance period in mind, go to the overview of software releases: .
On offline systems, you will need to perform a manual activation as described here:
Perform an offline activation as outlined here:
Continue to
VIOSO 6 uses a PC-locked licensing. A PC-locked license means, that an activation key can be used on 1 pc at the same time only. Purchased licenses are permanent and valid for the software version at the time of purchase. With software maintenance, licenses can be made valid for future versions. Learn more about software maintenance here:
Learn here about Online Activation (PC is connected to the internet – recommended):
Learn here about Offline Activation, using a secondary device (Laptop, mobile phone, etc):
PC-locked licenses can be transferred to another PC. This works online and offline. Learn here about how to transfer from one PC to another one:
Learn here how to access the License Wizard after activation:
Learn here how to retrieve License Information from our Licensing Server using your activation key:
VIOSO 6 can be run as demo. Learn here more about how to retrieve a demo license:
Download:
Install driver:
If the network adapter is set to DHCP, the camera gets an address starting with “169.254…”. In this case it is required to reconfigure the network interface to a static IP. Right-Click the network adaptor and select “NIC Settings”
Single-PC
Requires a permanent or demo license; The license must provide the total number of projectors (=sum of all projectors from all participating PCs)
Use when there is just one PC involved. It also enables multi-pc usage but misses some optimizations for networked calibrations.
Multi-PC Master
Requires a permanent or demo license; The license must provide the total number of projectors (=sum of all projectors from all participating PCs)
Use on a PC that acts as a master for a multi-pc calibration.
Multi-PC Client
No license required
Use for all PCs that act as a client for VIOSO 6
licenses
VIOSO 6 searches locally for a license
If no license is available, VIOSO 6 starts in demo mode
no license
VIOSO 6 uses a generic 0-channel license
no license nor activation is required. Use this mode to run VIOSO 6 as a client in a networked environment.
Guided step-by-step sequence based on templates
Automatic multi-client configuration
Automatic conversion between 3D alignment and 2D warping
Automatic recalibration scripting
not limited to a particular mode of operation
Requires manual configuration of remote clients
Requires manual handling of conversions
Offers all advanced software features:
blacklevel uplift
multiple calibrations
custom scripting
Limited functionality:
No blacklevel uplift
No multi-calibration
No custom scripting
More complex operation:
Requires manual configuration of remote clients
Requires manual handling of conversions
Requires custom scripting for recalibration
Channels
Defines the number of projectors that can be calibrated at once
Maintenance period
Defines the time span where all updates can be installed & used
CK_W(xx)
Wideangle calibration kit
HiK CA Series
GigE
1/1.8”
3072 x 2048
89,0° x 73,8° 76,0° x 60,8° 56,8° x 44,0°
CK_WU(xx)
Ultra Wideangle calibration kit
HiK CA Series
GigE
1/1.8”
3072 x 2048
135,0° x 119,0° 110,0° x 94,0°
CK_T(xx)
Tele calibration kit
HiK CA Series
GigE
1/1.8”
3072 x 2048
44,7° x 33,9° 28,9° x 21,9°
CK_VF
Varifocal calibration kit
HiK CA Series
GigE
1/1.8”
3072 x 2048
97,3° x 71,5° – 28,2° x 21,2°
CK_FDN
Fulldome calibration kit
HiK CA Series
GigE
1”
2592 x 2048
365,00° x 185,00°
"Abstract displays" allows you to handle projectors that are connected on different machines than the master running VIOSO Software. Abstract Displays virtualize the projectors connected on remote machines during the calibration:
Abstract Displays virtualize any number of projectors on the master and make them available during the calibration. The configuration of abstract displays is stored in the configuration file: SPSurDef.ini
in the global program configuration directory.
Location of SPSurDef.ini
:
VIOSO 6
C:\ProgramData\VIOSO\VIOSO6\
8317
VIOSO 6 Pixera Module
C:\ProgramData\VIOSO\VIOSO6_AVStumpfl\
8317
Digital Projectin Advanced Align
C:\ProgramData\VIOSO\VIOSO6_Digital Projection\SPSurDef.ini
8317
VIOSO Anyblend
C:\ProgramData\VIOSO\Anyblend5\
8080
VIOSO Player
C:\ProgramData\VIOSO\VIOSOPlayer\
8080
AV Stumpfl Autocal
C:\ProgramData\AutoCal\
8080
Custom
select
8080
Port
is used to contact the client running on the remote machine where the display configuratio is read. The table show the default ports used by the application.
There are two methods to configure this:
Automatic generation: Abstract Display Configurator tool
Manual configuration
This program is a configuration tool for multi-client (multi IGs) abstract displays. It lets you add Clients via IP address, automatically retrieves their connected displays, and then generates a SPSsurDef.ini File in its default location.
Download the Abstract Display Configurator
Launch the Client Display Configurator:
From within VIOSO 6: Menu
=> Tools
=> Client Display Configurator
Connect your PCs to the same network and make sure they are up and running with VIOSO Calibrator launched and configured on each.
Add your first client: Set a Name
and type in its IP address
.
Repeat steps 4 - 5 until you’ve added all clients.
Now open VIOSO Calibrator and you should see your displays in the “target” menu available for calibration. The next time you start VIOSO, all displays from the connected clients are provided to calibrate.
You can click on an added display in the list and Rename
, Delete
, and Split
.
The Reset
button re-initialize the configuration and starts over from scratch.
Click Apply
before exiting the Abstract Display Configurator to save this configuration.
Restart VIOSO
This is the most basic way and requires more time, but it’s suited to repair an existing Abstract Display configuration in case of failure.
Open the SPSurDef.ini
file located in the software`s main configuration folder. Contents of a “SPSurDef.ini
” file:
Each entry of <logicalDisplay>
represents a virtualized display from client to master. The parameters to edit are the following:
name
: Define a name for the display, e.g. name="LeftProjector_Client1"
idString
: Define a unique ID for the virtualized display: "ABSDEVICE\DISPLAY\
{PASTE NEW GUID HERE}
\0000"
To generate the GUID, you can use the VIOSO_GenerateGUID tool: Menu Tools
=> Generate GUID Tool.
Alternatively this tool is availabe in the folder Shared Tools
inside the programs installation path, e.g. C:\Program files\VIOSO 6 \Shared tools\
.
posX posY sizeX sizeY
represent the display coordinates and resolution of the remote projector. You can type this data from your knowledge of the setup or retrieve them with this method:
Open a browser and enter the following link using your corresponding client IP address :
http://192.x.x.x:8080/info.htm?displays&fmt
The result is shown below, you can use the Size (x,y) and Position (x,y) to fill out your SPSurDef.ini
file parameters
core
IP address of the remote projector. example: core=”192.168.2.21″
Make a new entry for each projector you need to calibrate.
At the end you will have a SPSurDef.ini file where all projectors on all clients will be listed as logicalDisplay entries. Once you are done, Save the file.
Restart VIOSO on the Master machine. Then you will see your projectors appearing in the target menu available for calibration.
In the Designer, the components of the system to be calibrated are displayed (called "nodes") and related to each other by connecting lines.
Each node represents an instance of the calibration. Be it a server that outputs the signal or a surface that is projected onto. Up to and including the export settings, most of the advances can be found in the new Designer tab.
Each node offers certain parameters that can be viewed and edited in the inspector on the left.
Nodes can be inserted arbitrarily to represent the entire setup that you want to use. Nodes may have black areas with dots representing connection points:
All participating PC on the network that are to be included in the measurement must be added here. Available PCs are detected automatically. Active devices can be recognised by the blue '6' logo next to the device. Cameras only need to be connected to the master. Only one network switch is required to handle multiple network cameras.
Clicking on 'Configure' will take you to the display setup shown above.
Here you can see which outputs are assigned to physical devices, which can also be identified by clicking 'IDENTIFY'. If you are using a mosaic group or display extenders (e.g. Datapath FX4), you can also 'split' the displays at this point.
The graphics card outputs are displayed at the bottom of the computer icon. Move the mouse pointer over a node to see the connection options. It is also possible to connect the nodes using drag and drop.
Graphics card outputs are connected to monitors or projectors.
If you use a control monitor, insert it and connect it to your graphics card's right output.
All projectors to be calibrated must be inserted and the properties can be entered, although these do not initially affect the calibration.
Add the camera to be used for calibration and select the hardware device from the Inspector.
For 3D calibrations it is important to specify the appropriate resolution and lens characteristics. If the position of the camera is known, the values can be entered here to faciliate the camera to surface mapping.
A network switch allows multiple cameras to be connected to a single server.
A switch node should also be created if a computer has multiple network cards, as it allows the active adapter to be selected.
Otherwise, it's not necessary to add a switch note to a design.
The choice of surface determines the calibration process. You can choose between 2D, where the calibration must be manually adjusted to the screen, and 3D, where a 3D object is added to the calibration.
The 3D object compensates for any distortion of the screen in advance and then requires minimal correction.
The 3D object compensates for the distortion of the screen in advance and then requires only minimal manual warping afterwards, maintaining a good linearity.
For some basic geometrical surfaces a 3D object generator is available:
Flat surface
Roundcave / Cylinder / Curvescreen
Dome
Panadome
if a specific model is needed, it can be selected via "arbitrary model" and then import as *.obj or *.fbx
By entering the actual values, an object including a suitable test image is created.
When exporting, depending on the export format, you can set parameters such as file format, file name, location and specific values.
If you have selected a specific profile, these export settings will be pre-configured.
You can export views from a 3D calibration result. Each view represents a frustum calculated for the corresponding projector (Field of view, position and orientation). By default, the reference for this calculation is an eyepoint located in the origin of the 3D model representing the (0,0,0) point. If you would like to offset this position (e.g. for a driver's pose, co-pilot seat, high platform..etc) you can use the eyepoint node to set the offset values and connect it to the export node.
Note: This eyepoint node is only used for simulators with a static eyepoint integration (e.g. Prepar3D, DISI). For dynamic eyepoint plugins (e.g. Unreal, Unity, rFpro) the eyepoint position can be defined at runtime or in the VIOSOWarpBlend.ini of the host application
The nodes must be connected to each other. The connections must correspond to the actual conditions.
Network Connections between: Computer Switch Camera
Video connections between: Computer, Monitor, Projector
View Connections between: Projector, Surface, Camera, Eyepoint
A central toolbar helps with the navigation and view of the designer:
Opens the Help window
Opens a selection for display
Opens the Insert Devices window.
This toolbar can be used to add nodes
It is possible to create multi-client setups in the Designer. To do this, all servers involved should first be prepared. This means that the same version of VIOSO 6 is installed on all clients and set to run in "Client Mode". The network must be configured and all clients must be available withing the same network.
When everything is ready, you can start adding the first Client in the Designer. If everything is configured correctly, all the clients will now appear with their IP in a drop down menu where the appropriate devices can be selected. The software recognises the graphics card settings and creates the client in the Designer accordingly.
Once all the required Clients have been inserted, the projectors need to be added. All ports are then connected according to their use. The clients to the network and projectors, and the projectors to the surface.
A typical setup may look like this:
Close the Designer by pressing "Finish". The Design is saved automatically when closing the Designer.
If all required nodes are entered all required connections are made, the system is ready for calibration, which is shown by an active "Calibrate button":
If the Calibrate button does not appear, something is missing or ambiguous in the design. In this case, open the Designer once more again and double-check:
All projectors are connected to a PC and to a surface
The camera is connected to a PC and to a surface
If all these conditions are met, the calibration should be enabled after closing the Designer.
You can create 3D model of regular projection screens using a built-in tool of VIOSO 6.
By creating the 3D model within VIOSO 6, it will automatically create the Custom Content Space, which is required for 3D conversions of the performed calibrations.
To create a 3D model and content space, from the main menu go to Calibration
> Content spaces
:
Click New
to create new content space:
Parameters:
name
: Give a name to your new space
type
: select “3D model”
pixel space
: put a resolution corresponding to your approximate projected screen ratio, the effect of this value will be the warping grid size after conversion (final VC). The closer it is to real-life the better warping and re-blending will be.
If you wish to generate the model with the VIOSO core, choose Create Simple 3D-Model
If you would like to import your own model, choose Create Empty Definition
Next, in the “simple 3D model creation” window, you’ll find different parameters to generate your shape:
Parameters:
3D-Model: Select from 4 types:
Panadome
Dome
Cylinder
Flat
Step parameter:
The definition of tessellation step angle. In other words, defines how small the polygons of the surface will be and how many of them will shape your surface.
Special angle parameter:
Defines main FoV angles for curved screens. Here you can check that your model will be created with the following name. By default, all of the created models and their textures will be saved in the “3D Model” folder of the VIOSO work folder:
Once created, the content space and its 3D model will appear in the main “Content Spaces list”.
If you have created the 3D model in any other 3D software, create an empty definition of the type 3D model
with name and resolution of your choice:
Once created you can import your existing model by clicking Browse
:
Supported 3D formats:
DAE (COLLADA)
OBJ (Wavefront)
Before doing any calibration, it is important to have a test pattern that fits to the aspect ratio and geometry of the screen. Follow these steps to to create an appropriate test pattern. Testpatterns are used in numerous subsequent steps during the calibration process:
To get an optimal result for your calibration, we highly recommend making a test pattern the size of your screen or projection surface. To create a test pattern, you need:
The measurements of your screen or projection surface and the screen aspect ratio
The size of your display (if you are not sure about your display size, make an estimate).
This multi-display/edge blending pattern generator will provide you with customized panorama/softedge PNG high resolution images. This allows for an accurate projection alignment on site and also helps you calculate the overlap on the blending zones.
Note on projector overlaps: A suitable projector overlap depends on various parameters. As a rule of thumb, consider overlaps not lower than 10% of each projector’s image. An overlap greater than 25% should be avoided, since too many pixels and too much brightness are lost with such large overlaps.
A test image should consist of a regular pattern that you can measure or match with the surface. Horizontal and vertical lines aid to align the projection with the help of additional markers or laser beams. Squares and circles are good to determine the correct geometric mapping, as long as the aspect ratio of the test image matches with the aspect ratio of the screen.
In this section, we will walk through a step-by-step explanation on how to use the test pattern generator.
To make a new pattern, just load the new values on the generator or refresh the page if you wish to have the automatic settings back.
If a value that you added is too large or is not compatible with another measurement that you have entered, the preview of your test pattern will disappear.
To correct this, just change the values or refresh the page.
At the bottom of the page, you will find test patterns for domes and cylinders available for download.
Working in Project Mode starts with the Designer, our new tool for visual design and preparation of the calibration environment.
If VIOSO 6 did not start in Project mode, you can switch by clicking the button "Switch to Free Mode":
The project mode is a list of tasks that are processed successively. At the end, there is a calibration with export to the desired application and an automatic recalibration mechanism.
The list of steps is represented by buttons in the left part of the application window. This list differs slightly depending on whether you are working in 2D mode or 3D mode. This distinction is defined in the Designer.
The hardware configuration of the system to be calibrated is created here: Projectors, projection screen and camera. Furthermore, the settings for using the calibration for third-party programmes, NVIDIA Desktop Hooking or integrated video playback are managed.
This step performs data acquisition with a camera or manual projector calibration.
In this step, the camera position is determined so that a geometrically correct pre-distortion of the content takes place based on the screen geometry.
Now the overall picture is being customised: Fine-tuning of the geometry, additional warping, colour and glare settings as well as masks and black levels are edited here.
This button exports the calibration to third-party programmes such as media servers, simulation applications, etc. Other configurations such as integrated video playback and NVIDIA Desktop Hooking offer an "Activate" button instead.
This triggers the recalibration sequence. This includes the fully automatic data acquisition via the camera, the application of 3D and 2D transformations as well as all parameters from the edit step and an export or application as previously configured.
Webcams and other DirectShow devices are configured on the fly when being triggered by VIOSO 6. The settings provided by each camera can differ, but the most important settings usually are similar in naming and purpose.
Please compare your camera setting and find at least these obligatory settings:
Choose the highest resolution your webcam supports while maintaining a high frame rate. There's often a dedicated best match like "FullHD @30Hz" that you should choose. The video type (compression, etc.) is neglectable.
After selecting the image formar, access the options to tweak the camera image by pressing the button "Options"
Adjust the values for Exposure, Focus and Zoom (if enabled) manually to prevent overexposure or underexposure of the projected image as well as to get a focussed image.
Adjust the values for Exposure, Focus and Zoom (if enabled) manually to prevent overexposure or underexposure of the projected image as well as to get a focussed image.
In this section, you can see all of the displays that are made available by Windows.IWhen If all projectors are displayed in this way, continue by multi-selecting them all to participate in the calibration.
With a mosaic configuration or display expanders (such as Datapath FX4, Matrox Triplehead2Go, etc.), the aggregated display must be split back according to it's topology to expose each projector for calibration.
Click on "display split" next to the display selection area:
Set the split according to the topology that was used when setting up Mosaic or display expander:
The following calibration modes represent different mathematical models for interpreting projector scans. Their names indicate the configuration for which they are mainly intended:
Flat screen (fast scanning) Camera-based method for flat and slightly curved screens (Examples: projection screens, solid flat walls, ceiling, or floors). Extrapolation works linear. It's very robust and can deal to some extend with faceted and unsteady surfaces. It lacks extended extrapolation settings and cannot use masks for blending optimizaton in favour to a simplified usage.
Curved screen (fast scanning) Camera-based method for curved screens, spherical screens, and domes (Examples: Planetariums, event domes, cylindrical panoramas, 360 panoramas, truncated domes, semi-spheres, etc.). The extrapolation works on polynominals and provides a rich set of parameters and insight into the usage of the scanned result. It offers masks for tweaking the blends during scan time.
Any surface (slow scanning) Camera-based method for any uneven and complex surface. This requires an apparent image of the test patterns filmed by the camera. Scanning takes a long time and is intended for surfaces that are uneven, have facets, cracks and a generally non-smooth surface (examples: rock faces, uneven walls or buildings, textured and uneven surfaces). This method can not make use of blending masks and sophisticated extrapolation features. It is mandatory to view the entire projection surface, as this scanning method can not extrapolate beyond camera view.
Manual Setup The calibration will be done manually without the help of the camera. It represents each projector by a manual warping grid and requires you make the warp and overlap manually. The softedge blending is created automatically.
Preceding calibration This mode is available as soon as a calibration was completed already. It re-uses the previous scans and lets you iterate through all parameters for doing any change on various parameters without executing a new scan. Please note that the camera must be availabe for this procedure to work, even if not used for a scan.
Select the camera for this calibration from the dropdown. Cameras are recognized based on the DirectShow interface. Usually, cameras are connected via USB (webcams, etc.) or network, where the camera driver must provide a DirectShow interface.
It's also possible to use camera signals from video capturing devices (as long as they provide the video signal via DirectShow) and NDI streams.
It's optional to provide a name for this calibration. If not set, the calibration gets named "Compound XXX".
Note, that the compound name is not the name of the calibration file that is saved to disk.
Click "Next" to continue to the next step.
Select the arrangement of projectors to optimize the blending:
The projector alignment requires to blend on all edges of the projected images. The blend gradient is computed along an "S-curve" which is flexible but yields a slight risk for sub-par blend results.
The projector alingment allow to have the blend zone only applied to the left and right side of each projector. This increases the blend quality.
Same consideration as for horizontal strip, but with the blend zones entirely apparent at the top/lower side of each projector image
Check this box to have masks on each projector applied during the scan. There will be a dedicated step in the calibration sequence where these masks can be created, edited or loaded froma previous operation.
If checked, all projectors will undergo a new scan. Use this check box to avoid a pop-up asking how to perform a scan before each scan. It's recommended to check this box if you're doing a first calibration or want to scan every projector regardless of previous results.
Specify the name of the calibration file (*.sps) that is automatically created after the scan.
This will trigger a popup with special settings for this scan. Do not alter these settings unless required by VIOSO support etc.
A new project is initiated via the "File" = "New Project" menu. A dialogue opens showing a series of ready-made project templates:
Use this project template when working with Exaplay. The result is exported as *.vwf file including blacklevel uplift to Exaplays default folder Documents/Exaplay2/target
This preset activates the internal video player with live input functionality. It therefore corresponds to the previous "VIOSO Player". This configuration is a very compact and simple way to quickly achieve a calibrated result.
This preset activates the NVIDIA mode. The calibration is embedded in an NVIDIA Mosaic display and creates a large, blended and warped Windows desktop.
This preset generates calibration files in *.vwf format, which also support blacklevel uplift and can be used in IOVERSAL Vertex.
This mode generates export files in *.vwf format, which are suitable for AV Stumpfl Pixera version 2.0 or higher. Blacklevel uplift support is provided here.
This mode generates export files in *.vwf format, which are suitable for AV Stumpfl Pixera up to and including 1.8. Blacklevel uplift support is not possible.
This mode generates export files in *.vwf format, which are suitable for AV Stumpfl Wings, WingsVIOSO and WingsRXup to and including 1.8. Blacklevel uplift support is not possible.
This mode generates export files in MPCDI format that are suitable for Dataton Watchout version 6. Please note: Only simple screen geometries (flat, slighly curved) can be used, and black level uplift support is not available.
This mode generates export files in MPCDI format that are suitable for Dataton Watchout version 7. It supports more complex screen geometries, but still no blacklevel uplift.
This mode generates export files in *.x format (warps) and *.pmb (blends) that are suitable for Christie Pandoras Box. Blacklevel uplift is not supported.
This mode generates export files in *.vwf format, which are suitable for AVolites AI media servers. Blacklevel uplift support is not supported.
This mode generates export files in MPCDI format for various media servers and playback solutions supporting MPCDI files. Please note: Every product uses MPDCI in a silghtly different way, so please consult the appropriate product documentation or product support to learn how to apply MPCDI. Black level uplift support usually is not available.
This mode generates export files in *.vwf format, which are suitable for Derivative Touchdesigner. Blacklevel uplift support is not supported.
This mode generates export files in *.vwf format, which are suitable for Smode. Blacklevel uplift support is not supported.
This mode generates export files in *.vwf format, which are suitable for Sureyyasoft Shira Player and Shira Universe. Blacklevel uplift support is not supported.
This mode generates export files in *.vwf format, which can be ingested by the Unity3D engine using VIOSO's free Unity Plugin. Blacklevel uplift support is not supported.
This mode generates export files in *.vwf format, which can be ingested by the Unreal engine (NDisplay) using VIOSO's free Unreal/NDisplay Plugin. Blacklevel uplift support is not supported.
This mode allows a completely free configuration of the export. All formats and all parameters are freely adjustable.
The calibration process is initiated by pressing the Calibrate
button.
It is important to note that in project mode, the Calibrate
button will only be enabled after the entire design process has been fully completed.
The steps of the calibration include:
hardware selection
pre-scan configuration
scanning per projector
scan result tweaking
The result is then ondergoing content mapping and global tweaking. All these aspects are covered in the subsequent chapters.
The next steps after configuring the camera is to define settings for the scanning procedure based on the site-specific situation: lighting condition, projector setting, surface and camera setting.
For each projector, a series of settings is defined:
This step determines the brightness of the projector depending on the camera exposure and reflectivity of the surface.
A value between 80 and 95 is ideal as it indicates a certain buffer for brightness adjustments.
A value of 100 indicates that the projector signal perceived by the camera has reached it's maximum. Consider to increase the camera sensitivity (longer exposure, open iris)
A value <50 usually indicates a way too high signal input, e.g. by a strong light source, reflection of metal, sunlight, etc. Try to remove this source. If not, consider to manually override the brightness until the perceived projection light is appropriate.
Use the slider to adjust the brightness or re-run the automatic brightness detection by pressing Automatic
.
Continue to the next step by pressing Next
.
This visual feedback loop is crucial. It allows you to define the level of detail for the test pattern, which is essential for accurately capturing the projector’s mapping and the surface properties.
The success of the auto-alignment process hinges on how the camera perceives and interprets this pattern.
We always start with dot size = 1.2 and margin = 0, which surprisingly often works right from the spot
Depending on camera resolution, projector image size, projector resolution and camera distance any other value might be suitable. If in doubt and if the dot pattern looks like in the picture "OK", do not do not alter and give it a try by pressing Next
.
If dots keep being blurry, smudged and not clearly delineated, go through these checklist:
In case of troubles getting well detected dots, the threshold for the built-in noise filtering can help to solve the issue. The threshold is determined automatically after the brightness adjustment.
A fading image with dots left out is a typical indicator for an improper threshold:
Klick Threshold
to go back one step to the noise filter threshold dialog.
The projector displays a line pattern and the camera tries to find a threshold for the noise filter to keep the lines clearly visible while cutting off noise. Whenever you change the slider thickness
, the noise filter analyzes the camera image and tries to find a matching threshold setting.
Use the slider threshold
to optimize the result on a line pattern that reflects more or less the size of the dots.
Once a good threshold setting has been determined, click Next
to proceed to the dot pattern again.
Digital masks play an important role in VIOSO 6. These are commonly referred to as ‘projector masks’ as they are defined per projector (and not per content) .
Whenever this will affect the stability and quality of the scan, masks should be applied before the scan. Projector masks can also help to optimise the quality of the overall projection after warping.
Example: Masking to avoid overshooting on the floor of a cylindrical panoramic projection:
These masks are created for each projector and are used to limit the blending. In this way, blending lines can be optimised. We call this ‘cropping masks’, which are used in the pre-scan step of the ‘curved screen/dome’ scanning process.
Example: Dome projection without cropping masks
Projection with applied cropping masks - the overlapping areas are now more uniform, resulting in a better overall blending quality:
In the calibration settings, check the box "set display calibration mask":
After configuring the camera, a dialog to select projectors and masks will show up:
Select the projector you want to create a mask. Tick the box "Show display identification" to get the display name printed on the projector when it's marked on the list - this will help you selecting the intended projector.
Click "create mask" to open the mask creation and editng dialog (see below)
"Clear mask" will delete any mask that is applied already.
From file let's you load and apply a mask created as image (bitmap, png) e.g. from an image processing software.
Whenever a calibration is made, projector masks are available as a post-calibration adjustment. Select the approrpiate target and Activate. The buttons in group "Adjustment" get active. Then choose "Adjust projectors".
In this dialog, select the appropriate projector from the list and choose "new/edit mask".
Whenever new projector masks are created or edited, the mask tool described below is used. It consists of a drawing area (A) and an area that displays mask layers. It is possible to create multiple shapes and thus generate complex masks.
Save: This saves the mask as XML and PNG into extra files The XML lets you modify the mask anytime while PNG represents the mask as pixel per pixel dataset. PNG masks are required to use a mask for cropping. Masks are saved internally with the whole calibration, but you might consider to save the masks additionally.
Load: This loads an ediable mask from XML
Click "+ Poligon" to start drawing a shape. It creates a layer with a rectanle mask, blacked out on the outer border. This is the recommended approach for most masking tasks.
Black parts are covered while white parts let anything through. By adding more shapes, complex masking tasks can be handled easily.
Click "+ Empty" to add a layer without any pre-defined shape.
Each shape acts as a layer that are arranged top-down. By modifying the layers, the overall mask output will be processed.
After all masking tasks are completed, consider to click "Save" to have the mask saved independently from the current calibration, e.g. to share with anohter calibration or use the mask for other purposes (e.g. as cropping mask).
Once the camera is configured, MVS software must be closed.
The camera will show up as “DirectShow” device with a device name like “HIKRobot MV…”. All parameters are available in a large parameter tree, that can be filtered by categories and complexity (“Guru”, “Beginner”…). Though all parameters seem accessible, it is not recommended to do much changes here, because of a bad user experience:
It is hard to browse through the vast parameter tree
After each parameter change, the dialog closes and must be re-opened and browsed through again
For “last minute” changes, though, we recommend to concentrate on these parameters:
Acquisition Control: Manipulate here the “Exposure time” to adjust the camera sensitivity to the test pattern displayed by the projectors
Image Format Control: Use the values “Width/Height” as well as “OffsetX/Y” to enter a (well known) region of interest:
Example: To crop the image of a fulldome calibration kit to fit the lens…
set Width = 2048
set OffsetX = 256
Since the usability of these dialogs is challenging, we recommend to make these settings in the MVS application.
Notes about Multi-Camera usage:
In MVS, when switching between cameras views, stop acquisition on the previous first or you will have bandwidth error warnings.
In VIOSO MRD window (Model View Control) you might not see the camera full name in the dropdown menu. To check if it’s the right camera assigned, open the MRD file you created in a text editor. It is in XML format where defCamName
parameter refers to the camera that calibrated the selected compound.
Optional tip: It can be helpful to fix camera custom names in MVS (Right Click the camera > Rename User ID ). They will appear in VIOSO under “adjust camera > Options > Camera info”
Alternatively download here:
Open Abstract Display Configurator.exe
:
Choose the target VIOSO Software from the drop down menu: VIOSO6
, Integrate
or Custom
. When choosing Custom, you can the destination folder for the SPSurdef.ini file, otherwise the default Surdef.ini file is replaced.
Click on Add
. If the connection to the client was successful, the console will display a message like this:
Click the Apply
to save and complete the configuration. The console will display “Remote Configuration Completed”:
Determine the screen dimensions and aspect ratio of the content
Make sure your projectors overlap equally for an optimal calibration result. Then put removable markers on the screen. Make markers the same size horizontally and vertically. d1 = d2 = d3 = d4 ... e1 = e2 ...
Create a test pattern using our.
The image at the top of the screen represents your test pattern. By adding values to the fields below and clicking the refresh button by the side of the value, your pattern preview will be updated and change according to the data you entered. If the value does not have a refresh button next to it, the test pattern preview will automatically be updated, showing the changes on screen.
Step 4: Define the overlap of your projectors. The overlap will only be shown on the preview image if you have the overlap option activated.
Increase or decrease the exposure (see ) - a wrong exposure leads to bad dots
Check the threshold (see )
Next
will proceed to the scanning (see ).
Dont't be mislead by a morieè effect happening (see ). This is due to the fact that the lines are mostly finer than the camera can resolve. morieè effect has no impact on the scanning quality.
Masks for use to crop the blending areas are created in the same way as other projection masks. Create the mask using the toolset explained here:
Make sure to save every mask to use as cropping mask in a dedicated file. Later, the *.png mask will be used in the step .
Select drawing point
Add point to shape
Delete point from shape
Toggle between linear and spline based shape drawing
Insert rectangle shape (replacing existing shape - careful!)
Insert round shape (replacing existing shape - careful)
Toggle layer visibility
Toggle layer black/white
Invert layer
Delete layer
For all types of cameras the procedure to define a Region of Interest by creating a mask is identical. The masking tools are integrated in the camera adjustment dialog
Whenever new projector masks are created or edited, the mask tool described below is used. It consists of a drawing area (A) , an area that contains mask layers (B) and a list of tools (C). It is possible to create multiple shapes and thus generate complex masks.
Save: This saves the mask as XML and PNG into extra files The XML lets you modify the mask anytime while PNG represents the mask as pixel per pixel dataset. PNG masks are required to use a mask for cropping. Masks are saved internally with the whole calibration, but you might consider to save the masks additionally.
Load: This loads an ediable mask from XML
Click "+ Poligon" to start drawing a shape. It creates a layer with a rectangle mask, where the inner part is see-through and the outer part is red. Areas covered by red are excluded from the camera view.
Clicking+ Empty
to add a layer without any pre-defined shape. +Bitmap loads an image file - typically a black-white image - that is used to define the region of interest (black = see through, white = masked).
Tools to draw shapes:
Select drawing point
Add point to shape
Delete point from shape
Toggle between linear and spline based shape drawing
Insert rectangle shape (replacing existing shape - careful!)
Insert round shape (replacing existing shape - careful)
Display a helper grid
Display a helper crosshair
Each shape acts as a layer that are arranged top-down. By modifying the layers, the overall mask output will be processed.
Tools to modify the layer properdies
Toggle layer visibility
Toggle layer black/white
Invert layer
Delete layer
After all masking tasks are completed, consider to click "Save" to have the mask saved independently from the current calibration, e.g. to share with anohter calibration.
After completing all scans, VIOSO 6 computes the blending for the entire area that is covered by the projectors and not hadled with masks.
If a 3D Alignment has been done, this result is prewarped already.
If not, the content has to be aligned on a 2D way - like applying warping to a single projector.
Warping is executed in realtime, on one compound - regardless of the number of clients participating. Start the warping by selecting a target and click Edit
:
In 2D mode, the mapping of content is handled by warping the outlines of a suitable testpattern on the screen in a visual way. Warping starts as a 4-point rectangle, that is superimposed on the camera image:
In the 3D workflow, a pre-warping has been done already, so the result is not (or less) influenced by the position of the camera in relation to the projection surface.
The warping is mainly a point-and-click workflow. Several tools help to achive this task.
Undo (CTRL+Z) Undo an action. If you want to undo multiple actions, click multiple times
CTRL+Z
CTRL+Y
Toggle scaling / deformation mode Scale or deform one point or all points
Toggle pan / move mode Pan the entire working area or move the entire warping grid
INS
Toggle line grippers Inserts a gripper between warping points moves a vertex between two points
F2
Toggle tangents Adds a tangent to the selected point. Tangents let you adjust the curvature in case of bicubic warping
F3
Keyboard fine or coarse points Use the arrow buttons on the keyboard to move a point, small or wider spaces
F4
More columns Adds a vertical column
F6
Less columns Erases a vertical column
F5
More rows Adds a horizontal row
F8
Less rows Erases a horizontal row
F7
Toggle linear/bicubic interpolation Linear: warping is based on straight lines between points Bicubic: warping is following a curved path between points
The warping area also contains a context menu that is available by right-clicking on the preview screen.
A typical warping and mapping task is to align a misaligned projected image to a flat surface. The very basic usage of the warping tool, therefore, consists of a 4-point warping where each corner is handled accordingly.
To get a proper linearity toggle the keystone rect feature:
Case 1
The sides of the projected image are different lengths, e.g. projectors are angled laterally. Drag the red corners to the smallest size of the projected image.
Case 2
The upper and lower sides of the projected image are different lengths, e.g. projectors are tilted vertically. Drag the red corners with the mouse in order to straighten the sides.
Case 3
The projected image is larger than the projection surface, e.g. projectors are too far away from the surface. Drag the red corners to the size of the projection surface using the mouse.
Case 4
All 4 sides of the projected image are different lengths, e.g. projectors are tilted laterally and vertically. Drag the red corners as shown in the illustration.
In addition to the 4-point warping functionality, the warping feature supports nearly unlimited complexity of screen shaping and content mapping. By increasing the number of control points, complex warping grids can be established.
Right-click anywhere on the warping area. The context menu is displayed. It contains the entries Grid Colums
and Grid Rows
, as well as the interpolation method
.
Grid columns and rows: Use this function to insert warping points on the horizontal and vertical axises. Use also the tools from the warping toolbar to increase/decrease the number of columns.
Interpolation method: Here you switch between linear and cubic support point interpolation. Linear interpolation is suitable for corners, edges, etc., while cubic interpolation is suitable for rounded surfaces. Cubic interpolation is the default.
Load/Save: Use thise features to save the current warping into a file (*.vc). Such a saved warping can be applied any time on the same calibration or another calibration.
This section explains how to set up the camera for scanning projector test images.
The prerequisite is that the camera is correctly installed and accessible. This relates especially to network cameras (VIOSO Calibration kits). Read more about how to install such cameras here: VIOSO Camera kits
Furthermore, the camera must not be opened by any other application - this also includes the driver software supplied by the camera manufacturer (e.g. Galagy, MVS, IDS Cockpit or AMCap), which must be closed under all circumstances.
Learn here how to adjust Webcams and other generic DirectShow devices: Webcams / DirectShow devices
Learn here how to adjust Daheng cameras (VIOSO Calibration Kits since 2023): Using Daheng Cameras within VIOSO 6
Learn here how to adjust HiK Vision cameras (VIOSO Calibration Kits since 2021): Using HIK Vision Cameras within VIOSO 6
Assuming that you have a proper camera signal using all kinds of camera parameters (see subsequent chapter), all camera images must be properly masked.
Masking in this respect defines a Region of Interest: Everything that is masked off won't be taken into consideration during the scan. The goal is to enclose the image of the projectors into a mask. For all types of cameras, creating such a Region of Interest is strongly recommended.
The camera mask is created in the same dialog that is used to adjust the camera parameters and it is done after adjusting the camera parameters.
Continue here to learn how to create a camera mask to define the Region of interest: Camera Masking (Region of interest)
Please make sure that the camera is configured and available. Refer to Configuring Daheng Cameras for instructions to setup such camerss
Once the camera is configured, “Galaxy Viewer” software. must be closed.
The camera will show up as “DirectShow” device with a device name like “Daheng Imaging Device 1” or with its serial number when installed together with the MVS drivers.
All parameters are available in a large parameter tree, that can be filtered by categories and complexity (“Guru”, “Beginner”…). Though all parameters seem accessible, it is not recommended to do much changes here, because of a bad user experience:
It is hard to browse through the vast parameter tree
Not all parameters can be set at runime.
For “last minute” changes, though, we recommend to concentrate on these parameters:
Acquisition Control: Manipulate here the “Exposure time” to adjust the camera sensitivity to the test pattern displayed by the projectors
Analog Control: Manipulate the “Blacklevel”, “Gamma” and “Gain” values, but only as a last resort.
Notes about Multi-Camera usage:
In Galaxy Viewer, when switching between cameras views, stop acquisition on the previous first or you will have bandwidth error warnings.
In VIOSO MRD window (Model View Control) you might not see the camera full name in the dropdown menu. To check if it’s the right camera assigned, open the MRD file you created in a text editor. It is in XML format where defCamName
parameter refers to the camera that calibrated the selected compound.
Optional tip: It can be helpful to fix camera custom names in GxGigEIPConfig (see above ). They will appear in VIOSO under “adjust camera > Options > Camera info”
Once a calibration is done, you can align it using 3D model data and virtual camera positioning.
In order to perform 3D alignment, you will need:
The initial calibration (completed) with blending. No VC adjustment and no warping.
The 3D model of the screen with its UV map (refer to 3D Model Handling).
Load the calibration in VIOSO and activate it, so you can see the calibration result on the projectors.
Make sure the warping Virtual Canvas (VC) is untouched and it is set by default to full screen.
Open the Player
window. On the main menu, click the plus icon. Then choose Add Model Item
then Add MRD
– give it a name — this will create an MRD file in the playlist.
Double-click on it to activate it, so it is in “playing” status:
On the main window, un-check the Show test image
checkbox, as this test pattern will always be shown on top of playlist content.
Align the virtual camera parameters to your real calibration camera measurements. Refer to the section 3D Mapping for details and examples.
In project mode, the next step is Align 3D - mapping of content from the camera's view:
After selecting a 3D model in the designer's surface view, the measured image is mapped to the 3D object and aligned with the camera. The objective is to align the generated UV map precisely with the surface.
The camera's position and viewing direction are crucial for mapping the result on the object accurately.
The goal is to align the virtual camera's position with its real-world counterpart. The PCs outputs display what the camera captures in the "Align 3D" tab. To ensure proper alignment, it is required to adjust the virtual camera so that the projected pattern alignes with the projection surface.
The exact distance and position of the camera in space must be determined, either by manually inputting the values or by adjusting the camera's position. If the field of view (FoV) is correctly configured and the camera’s position mirrors the real-world setup, the resulting output should closely match both the real world conditions as well as the 3D preview.
In the left-hand area of the 3D preview tool, you make the adjustments numerically, while in the right-hand area you make the adjustments in a visual environment.
To achieve this, first position and rotate the virtual camera so that it is pointing at the projection surface. We recommend determining the position of the camera by measuring and also estimating the rotation first.
Enter the position in Origin
(in mm from the origin of the model of the projection surface)
Set the rotation to relative
Estimate the rotation and enter the valuesRotation
x(pitch), y (yaw) and z (roll)
Select camera
Switch the sensitivity for keyboard interaction (arrow keys)
Move camera
Rotate camera
Adjust global view with this world view gizmo:
Select camera
Toggle arrow key mapping tool
Pan view
Rotate view
Zoom view
Reset view
As the entire projection is calibrated from the camera's point of view, this view is also available in the 3D alignment tool. Use this button to switch between the world view and the camera view:
Now it's visualised what the camera sees of the projection surface under the given camera parameters (especially FoV) as well as its position and rotation information and the 3D data of the projection surface:
This tool maps the arrow keys on the keyboard to the position or rotation of the camera. This allows you to move the camera quite intuitively while keeping an eye on the projector output:
On the left are the axes for controlling rotation, on the right are the axes for movement. By selecting the axes, the arrows change the corresponding values. The axes are also displayed in the arrows.
Move camera
Rotate camera
Toggle arrow key mapping tool
It is aslo possible to add a screenshot from the camera as a background to help on positionning your 3D model. By default, the projection surface is displayed as a wireframe model. It can be helpful to show the camera image behind it, which is possible via View Parameter
:
A screenshot of the camera taken at the start of the calibration can be found in the project folder under Content. Click Browse
to select this file (Camimg_[camera name]
) and Open
.
This camera image is now used as the background for the wireframe model, which can simplify the alignment of the camera:
As a rule, 3D mapping does not have to be perfect, as the projection surfaces in the real world are not ideal and the camera also has distortions. All of this means that 100% mapping is not achieved.
If the calibration is created for a 2D output, e.g. video output, desktop embedding (NVIDIA), 2D VWF, 2D MPCDI, etc., then a further warping can be performed on the overall result in the next step "Edit".
If the calibration is created for 3D exports, e.g Unity, Unreal, then you must do the fine tune during the "3D Align" to modify the actively mapped mesh. You can access the warping grid behind the "Model Rendering Defintion" window. See below:
Pay particular attention to these points during 3D mapping:
The entire projection surface must be covered. Everything that is not covered in this 3D tool will also be black later on
It is therefore better to make the model slightly larger in size or adjust the camera position or camera lens (FOV) so that everything is covered
Excess pixels can always be eliminated later using COntent or projector masks
VIOSOs content mapping and warping functionality is integral for aligning projected images onto complex surfaces, ensuring that the final display appears seamless and accurate. There are two approaches of mapping content to the surface.
This involves adjusting the image to fit a specific projection surface by applying a 2-dimensional warping grid onto the content. The primary approach here is to correct distortions and align the projected image to match the physical screen. This method relies heavily on the accuracy of the camera setup. A well-placed camera is essential for capturing the precise geometry of the projection surface.
This approach is more advanced and versatile. In VIOSO, it`s also called "MRD" (model rendering definition). It accounts for both the geometry of the projection surface and the perspective of the calibration camera. The process involves several steps:
Modeling: The software uses a 3D model of the projection surface and parameters of the calibration camera such as position, rotation and lens characteristics.
Align 3D: After the calibration, the result is then cacluated in the 3D space while being projected. By adjusting the virtual camera, which represents the physical camera as precise as possible, the projected result is adjusted to fit to the projection surface
2D Warping: From the 3D Alignment, a 2D representation is made and can be adjusted further more using the 2D warping.
2D Warping:
Camera Setup: Relies on a single camera placed in a central position in relation to the projection surface. The accuracy of the warping depends on how well this camera is positioned and calibrated.
Surface Complexity: Best suited for flat or relatively simple projection surfaces. The warping adjusts for distortions and alignment issues but does not account for the depth or intricate geometry of the surface.
Applications: Typically used in simpler setups where the projection surface does not have significant depth or curvature.
3D Warping:
Camera Setup: Utilizes a more comprehensive approach, often involving multiple camera views or a single camera capturing multiple perspectives. This allows the software to gather detailed information about the surface geometry.
Surface Complexity: Handles complex surfaces with varying depths and curvatures. The 3D model enables precise adjustments to the image, accommodating the surface’s geometry and ensuring accurate alignment and linearity.
Applications: Ideal for immersive environments, complex projection surfaces, and large-scale installations where depth and detailed surface contours are significant.
2D Warping is straightforward and efficient for simpler setups where the projection surface is relatively flat or regular. It is heavily dependent on the proper placement and calibration of the camera.
3D Warping in VIOSO 6 offers a more advanced solution by incorporating the 3D geometry of the projection surface and parameters of the camera. It uses detailed calibration data to adjust the image accurately before projection, making it suitable for complex and immersive environments.
The choice between 2D and 3D warping depends on the complexity of the projection surface and the accuracy required for the application. VIOSO 6’s 3D warping capability provides a significant advantage for projects where precision and surface complexity are critical.
After each scan, an intermediate step is displayed that shows the result of the projector scan. This step differs depending on whether ‘Flat Screen’, ‘Any Surface’ or ‘Curved Screen/Dome’ has been selected.
Here, the result of the scan is displayed as a generic test image on the projector and in a live feed from the camera's point of view. The scanning process is deliberately kept simple, so there are no additional parameters - everything is determined as automatically as possible.
The purpose of this measure is to assess whether the scan was successful. This is the case if:
The test image completely fills the projection image on the desired surface
no obvious and unexpected distortions occur
Please note that this step does not represent content mapping, i.e. the alignment of lines and structures does not play a role here.
Examine the scan if it meets the mentioned criteria. A good scan typically looks like this:
Click Next
if everything is OK to proceed to the next projector.
If the scan result is not satisfactory, a new scan is necessary.
Here we see distortions of the projection image that is not caused by the surface and therefore represents an error in the scan:
Click Back
to return to the Scan Settings and take into consideration:
Optimisation of the environmental conditions (light, obstacles, other factors)
Adjust the camera settings (focus, exposure)
Adjust the scan parameters: Dotsize, Threshold
After adjusting continue forward (Next....) to run the scan anew.
After each scan, an intermediate result is shown, representing the result of the data acquis
This step appears if the ‘Curved Screen/Dome’ scanning method has been selected (although this scanning method is also very suitable for other surfaces).
A good scan is represented by a full covered, distortion fee test pattern across the projector (minus masks is set prior to the calibration.
In addition, there is a visual representation of the scan in the Scan Inspector.
The visualisation of the scan result on the right-hand side is the most important information: the points captured by the camera are shown at the top of the camera image, with the resulting image mapping on the projector below
White dots represent positively recorded sample values, while red dots represent discarded samples. Black areas are not represented at all - either because these areas have no projection or because the detection of sample values does not work there.
A bad scan can be evaluated visually like described above for flat screen/any surface scan: obvious distortions, omitted projector coverage etc.
In addition, the scan inspector provides a visual feedback both of the scan dots and resulting projector coverage:
The camera picture shows few white dots, and red dots and vast areas of the projection area without any samples. This indicates a severe issue with the camera, e.g. bad signal, network issues, wrong settings, etc.
The projector coverage diagram below shows the result of the scan as it is displayed on the projector. Much space on the projector is left blank, so they are omitted for any coverage. The rest is computed but it is likely that due to the improper scan heavy distortions are happening.
The acceptance of sample points (white = OK, red = rejected) is controlled by the ‘Detection of invalid points’ parameter, among others, and is one of the most important parameters for analysing the scan.
The geometric scan is a rather complex procedure with many mathematical parameters to handle. We try to simplify the handling by determine a most useful setting automatically, so in most cases (= good camera conditions) not special treatment of these parameters is required.
However, the more demanding projection scenarios get, the more a fine-tuned scan adjustment pays off.
Here we describe the available parameters and their function. Please bear in mind that these parameters can be left untouched for most cases.
Geometry Scan Adjustment
Detection of possibly invalid points
How strict the algorithm is in the decision of valid/rejected points (blue vs red)
Extrapolation method
The software is able to extrapolate to regions of the screen where the camera was not able to scan.
Full polynomial means that every scanned dot should follow a homogeneous curve, e.g domes, curved screens.
Partial Polynomial means that the surface can be made out of different curvatures, non linear, e.g flat with round corners
Extrapolation distance
The more dots are chosen, the more the software tries to extrapolate. If you choose “Whole Display”, the software will try to extrapolate to the full display space. In case of a bad scan, the extrapolation might cause artifacts like swirls and deformed areas. The region of interest is an important aspect, if a projector is covering only a part of a screen, there is no need to extrapolate more than that area, therefore increment the extrapolation distance until you fully cover it
Surface curvature
If your surface has an extraordinary curve (slight or strong) you can get better results from switching between these options.
Intense overshooting of projector
Optimization of setups with an intense overshooting of the projectors
Optimization of Mesh
Pre-configured optimization of the texture distribution, enabled by default. Turn off if you notice strange patterns.
Crop Mask
Test image
Change the displayed test pattern with a custom image, e.g. load a 4k/6k grid to view higher details in the results and spot possible issues.
Save scan data
Save the result of this projector geometry scan in a file (.bdi). Use for backing up, comparing results or load during re-calibration.
Options
Test image
Change the displayed test pattern with a custom image, e.g. load a 4k/6k grid to view higher details in the results and spot possible issues.
Save scan data
Save the result of this projector geometry scan in a file (.bdi). Use for backing up, comparing results or load during re-calibration.
In VIOSO 6, the terms Full Polynomial Extrapolation and Partial Polynomial Extrapolation refer to how the calibration system extends the display area outside of the measured projector image, especially useful when warping and blending images for projection mapping.
Here’s a breakdown of the differences between the two:
Extends the calibration surface completely beyond the measured area using a mathematical model (polynomial). Use when you need to project beyond the camera-captured area — for example, projecting onto physical surfaces that the calibration camera couldn’t fully see.
Benefits:
Smooth continuation of the warp surface.
Ideal for projections onto known geometries (e.g. domes or curved walls).
Limits:
Can introduce distortion if the extrapolation goes too far beyond the actual measurement
Not useful if the surface is too complex or unpredictable.
Applies extrapolation only to a limited degree, often just to the outer edges of the measured region. Use when minor edge extension is needed — for example, to fill in gaps between projectors or to slightly extend the image for better coverage.
Benefits:
More flexible than full polynominal extrapolation.
Handles complex projection surfaces
Limits:
Produces easily slight errors like waves
Can also cause more heavy distotion if scans are bad recognized
After completing the scan, VIOSO 6 automatically calculates the overlap zones where projections from different projectors intersect. This calculation is crucial for eliminating visible seams or inconsistencies in the projected image.
The result of this calculation can be viewed after blending calculation (button content info
) or when editing the result (button More ...
and then Calculate optimal content size
):
Blending is another critical aspect managed by VIOSO 6. The software employs sophisticated algorithms to seamlessly blend the overlapping areas of the projection. It adjusts the intensity and color in these regions to create a unified visual experience, reducing the need for manual adjustments.
After the scan, the softedge blending is calculated automatically based on the projector image overlaps, which are also determined automatically (see above),
Nevertheless, it can be useful to influence the soft edge parameters calculated in this way. The button Color & Blending
leads to the adjsutment of blending and content related masking:
The automatically calculated parameters for soft-edge blending are usually suitable for most applications and fit from scratch. In any case they provides a solid foundation for making fine adjustments. Proceed as follows:
Soft-edge blending should be optimized based on the content being displayed.
Prepare representative frames from the content to be projected. The internal player in VIOSO 6 can handle typical image formats and videos in H.264 and H.265 formats. Put these files in the Player and adjust the softedge while playback.
Proceed carefully and use the arrow keys on the keyboard to adjust the sliders for the best results.
Plateau: Represents the intensity in the blending zone
Gradient: Size of the blending gradient applied to each overlapping edge
Gamma: Adjusts the brightness of the overlapping area
Prj Gamma: Adjusts the brightness of the nooverlapping area (to compensate differences in projector gamma levels)
Color channels: Selecting All
applies these parameters to all color channels. For more fine-tuned results you can select Reds
, Greens
and Blues
, thus adjusting the blend per color channel individually.
The above described blending parameters result in a fixed blending pattern. For even more control of the blend generation, klick ext. Param
and it leads to a dialog that offers an alternative way to design the softedge blending pattern.
To switch from the previous (parametric) to the extended (spline-based) softedge pattern, select Spline based
in the dropdown:
Black Point: Defines the lowest starting point of the blending gradient
White Point: Defines the highest starting point of the blending gradient
Mid Point: Adjusts the brightness in the center of the curve describing the blending gradient
Curvature: Adjusts the shape of the curve describing the blending gradient
Gamma: Adjusts the brightness of the overlapping area
Prj Gamma: Adjusts the brightness of the nooverlapping area (to compensate differences in projector gamma levels)
Color channels: Selecting All
applies these parameters to all color channels. For more fine-tuned results you can select Reds
, Greens
and Blues
, thus adjusting the blend per color channel individually.
These masks are applied to the entire content. This means that the entire area of a compound covered by projection is the reference for such masks. Unlike projector masks, content masksare applied on the softedge blended result and deform according to the warping.
Clear mask: Clears any applied masks from the output processing
From file: Loads an image file (PNG or BMP) that acts as a mask. Black areas are maked, whereas white areas are see-through
Gamma: Adjusts the brightness of the overlapping area
Here, the color balance for the entire content can be adjusted. This adjustment affects all projectors within a compound equally and can be controlled in real time using these sliders.
Content adjustment is another instance to tweak the output in contrast, brightness, cyan, magenta and yellow, to get the best result out of your projection.
All parameters of the 3D scene are displayed at the left hand side of the 3D Mapping dialoge (Model Rendering Definition Adjustment).
3D model
Camera
Alignment
This is the most important setting where you put the measured pose of the camera from the origin of the screen.
The translation and rotation are defined in the system coordinates of the 3D model on screen, where the camera pose is originally as shown below:
If you created the 3D model from the VIOSO software, it will be in the right hand system, and the (0,0,0) origin is located:
Flat plane: Bottom center line.
Cylinder: At the center of bottom circumference.
Panadome/Dome: At the center of the sphere.
The camera is mounted on top of the screen pointing down, it is rotated 90 degrees counterclockwise around axis X, meaning rotation x will be -90 or 270.
Our screen is a panadome and the camera is mounted on top of the screen in the center,meaning that it is located at some height relative to center of the sphere (origin) -> Y translation.
By adding these parameters you will start to see grey texture on the projection screen. This is the real-time rendered image onto the UV texture of the 3D model you have introduced to the system.
To find the best values to position your texture and align it onto your real screen, use all the camera position parameters and border px parameter.
You can type the values in fields from the keyboard. You can use the scroll-wheel or you can use the keyboard arrows.
If you hold SHIFT and change the value in the field, it will change with bigger steps (coarse).
If you hold CTRL and change the value in the field it will change with smaller steps (fine).
Align the testing grid as good you can by carefully tweaking all of the values mentioned above. It is natural that this procedure takes a time.
It is recommended to position the grey test picture in a way that it overshoots the screen a little bit, so that you get rid of the aliased edge of the texture and later mask it out.
Note that warping will be still in camera perspective, as the calibration is not converted yet.
While VIOSO’s proprietary file format *.sps
holds all calibration information, the data required to embed warping and blending into the Windows operating system or GPU must be handled differently.
Therefore, a secondary file format exists: the “VIOSO Warp File” format *.vwf
. We use this file format, not only to address the embedding services of VIOSO Anyblend, but also to export to third party applications using the VIOSO API.
To do an export, finish the calibration.
Whenever you create a project, there is an export node in the project designer. Depending on the profie, the values for the export are pre-populated accordingly and parameters are filtered for easier handling.
The "generic" profile provides access to all export parameters. It's the choice of the operator to make use of them.
To run the export, you have to complete a calibration. Once this is done, the step Export
is available. Clicking Export will immediately initiate the export sequence and run the export using the values and parameters specified in the Design step.
In free mode, the export can be done anytime by calling Menu > File > Export Mapping
:
The operator decides about the appropriate moment to export, as well as to do the appropriate export settings:
Exporting is heavily depending on the target system. There are numerous ways to create export files, and it is part of VIOSO's ongoing effort to export to as many target systems as possible. We describe the main export formats and parameters in this documentation.
For target systems that are not listed here, please refer to our support - we are happy to analyze and adjust to every possible configuraion
As the export is the last step in a calibration procedure, we provide a recalibration script generator at the export dialog:
With a few parameters specified it creates a script that re-runs the calibration procedure without interaction and performs the export as specified before.
Parameters to specify for a recalibration script:
Script file: the location where the script is saved. We recommend to stick to the VIOSO 6 default path Documents\VIOSO6\Scripting
as this will make running the script very easy (see below)
sps file: Select the SPS file where the currently used calibration is saved
Close application: when checked, the script will close VIOSO 6 after running the recalibration script. This is useful if you do not want to expose VIOSO 6 to the end user
With Export: Keep always checked, as this setting will enable the export according to the current settings
Create Batch file: When checked, after performing the calibration, a Windows Batch file *.bat is created at a user-specific location (you're prompted) that runs the recal script.
There are numerous ways to shape a calibration export. This is handled by a “scripting-like” method, where parameters are collected and stored in an XML-File. We call this the “export definition file”.
An Export definition file is created as soon as you check the box use settings from file
and click edit
. After that the system default text editor oens with a skeleton of such an export definition file.
This set of functionality operates on the projector level. While the overall calibration—such as soft edge, overlap, and warping—remains intact, you can adjust each individual projector in terms of intensity, color balance, and masking. Fine-tuning and precisely adjusting each projector is key to achieving a convincing and seamless overall projection.
One launched, start by selecting a projector to adjust:
brightness & color: Adjust so that the projector matches the surrounding ones. Kepp join channels
checked to adjust the total brightness; uncheck if you need to adjust the color channels individually
projector masking: Masking on projector level is handled here.
Clear mask
will erase any existing projector mask.
from file
loads a prebuilt mask (image file, BMP or PNG) where black = masked and white = see-through
In an ideal world, after running automatic projector alignment will provide a perfect blending between the projectors. However, due to the numerous physical reasons, this is not always the case - especially when working with low-cost/low quality projectors or projectors with a non-standard lens (like UST projectors).
A pretty bad example of a bad blend is shown here:
Use „Adjust Projectors“ make fine adjustments of each projector:
Perform color adjustments for all projectors using several test images.
With proper settings applied, even challenging setups can be handled to get acceptable results:
Show undo stack Displays a list of warping modifications, go back to a past point in your warp
Click More...
menu on the main window and choose 3D Mapping
.
The 3D alignment is now finished, you can proceed by performing the conversions:
From the ‘world view’, you can now make further adjustments by selecting and moving or rotating the camera . After choosing the the means of manipulation, an translation tool (for moving) or rotation tool will show up around the camera. Use the mouse to interact and you see the result both in the 3D rendering as well as on the projector outputs in realtime.
An image file (.png or .bmp) that crops the geometry scanned and removes it entirely from the result. Example: you can load a projector mask with cropped borders to reduce the blending area size. Crop masks are created before scanning. Read more here:
New/Edit mask: Launches the tool to draw masks on-the-fly. Read more about the usage of this tool here:
If you did your best and the alignment is still not perfect, you can use the warping tools in the VC grid of the main window (Refer to the chapter to learn more)-
Learn here how to handle export definitions and available functions and parameters:
new/edit mask
opens the mask editor to create or edit masks on the fly. Learn more here:
Start with color matching of the projectors. Having your projectors matched in color improves the blending quality significantly. For color adjustment, use individual color channel faders after unchecking the "join channels" box:
After your projectors are matched and have the same brightness, switch to and fine tune the blending settings, which now work more streamlined on matched projectors.
Name
Select your 3D model from the list of created custom content spaces
Texture
If there is a custom texture that you would like to apply to your model, click ‘Select’ to browse an image from the disk. The default models created by VIOSO will have the texture file automatically created and filled in this field.
Quality
slider to increase/decrease the preview quality of the rendered texture
Name
Name of the camera. from V5.3+ it is automatically selected
Type
Type of the lens (Perspective or Fisheye)
Resolution
Resolution used by the camera during the calibration, if you did any cropping or ROI define here the final pixel space used. From V5.3+ it is automatically detected
FOV
Refer to the lens specifications, Values are usually for perspective (50-110) & fisheye (180-185)
Border px
If the camera has a lens that crops some areas of the sensor – fill out the dimension of the border of cropped pixels. It’s most frequently used with fish eye lenses – around 250px
Ratio
Resolution X/Y , usually automatically calculated
Origin:
Translation values: (Y up, X right, Z backward)
Rotation
Rotation values (X pitch, Y yaw, Z roll)
VIOSO VWF
VIOSO’s export file definition
Exaplay AV Stumpfl Pixera 1 and 2, AV Stumpfl Wings and WingsRX, IOVERSAL Vertex, Derivative Touchdesigner, vvvv RSA Cosmos Sky Explorer Shira Player, Shira Universe
MPCDI
Vesa’s standardized Warp&Blend file definition
Dataton Watchout v6 and v7, 7th Sense Delta Green Hippo Bright Sign
DirectX .x-Files
Generic pixelmapping format of DirectX
Christie Pandora’s Box
Barco Pulse
Barcos warp & blend definition for Pulse-enabled devices
Barco projectors supporting Pulse
Barco MIPS
Barcos warp & blend definition for (legacy) warp&blend devices
Barco WB Boxes
SCISS/Zeiss SGC
Warp & Blend definition for SCISS Uniview
Uniview 3.0 and above
OpenWarp
Warp&Blend definition for eyevis OpenWARP2 devices
eyevis OPenWARP2
Open EXR
ILM’s warping & blending definition
The integrated player serves as a source for your test images when editing the calibration. However, it can also be used for basic tasks such as found fixed installations trade shows or spontaneous presentations.
Here is an overview of the most commonly supported video formats:
Codecs
Container
Image
Audio
Next to the playback of media files, the VIOSO 6 player also supports display of live inputs:
Direct Show sources
NDI sources
To run the player a calibration (display compound) must exist. Select the compound you want to play back content onto and Activate
the output. Then click Player
:
The player consists of a single playlist that holds a number of placback items. All functions of the Player are available via buttons on the playlist.
Add entry: Add a media file, control item, or image sequence to the playlist (add entry menu explained below).
Delete entry: Delete the selected entry from the playlist.
Delete all entries: Delete the entire playlist.
Re-order entries UP: Re-order the selected media item one place higher on the playlist.
Re-order entries ALL UP: Re-order the selected media item all the way up the playlist.
Re-order entries DOWN: Re-order the selected media item one place lower on the playlist.
Re-order entries ALL DOWN: Re-order the selected media item all the way down the playlist.
Load a playlist: Select playlist from disk.
Save a playlist: Save playlist on your disk.
Dock to Main Window: Dock the playlist window on the left side of the main window.
Video progress: Progress bar for video files.
Previous item: Go back to previous media file.
Play: Play selected item.
Next item: Go to the next media file on the playlist.
Pause: Pause current playback.
Stop: Stop current playback.
Autoplay:, when checked, the playlist starts playing as soon as the output is activated (important for autostart scenarios)
Default image duration (infinite): Set the duration of all images on the playlist. If the infinite box is checked, the selected image will last indefinitely and will only be changed manually.
Status information screen: Displays the current playback status.
Volume control: Manage the global audio volume of the current playback.
Use the Add
Button to add items to the playlist:
Add media file: Add one or multiple media files from disk
Add image sequence: Open the parameter window to import a sequence of images:
Enable: Activate or deactivate the image sequence.
Path: Click Select
to choose a folder to import — all the recognized image files on the folder will be imported.
Mask: Write the name of a mask you want to import.
Sorting: Choose from the drop-down menu the way images will be placed on the playlist (unspecific, ascend, or descend order).
Frame time: Select how long the images will be on screen (all images).
Duration: Loop (check box): If checked, the image sequence will play on loop.
Click ‘Ok’ to import the image sequence or ‘Cancel’ to abort.
3. Add control item
1.3.1. Jump to first item: Adds a contonl item that executes a jump to the first item on the playlist.
1.3.2. Pause item: Adds a contonl item that makes the playlist pause at this item.
1.3.3. Stop item: Adds a contonl item that stops the playlist and will start from the first item.
Add model item: Add an MRD item (Model Render Display) to use for 3D Mapping
Ricght-click a playlist item to access the context menu with options for this media item:
Tab "Parameter"
Main parameters for displaying the current media item:
Enable (check box): Activate or deactivate the selected media file.
Audio stream: Select the audio stream to play along with the video.
Audio level: Select the desired volume level for the selected audio stream.
Mute (check box): If checked, the video will play without audio.
Video engine: Select the desired video engine to decode the video.
Start: Sets the in-point of the video (changing currently possible).
Duration: Duration of the video (changing currently possible).
Loop (check box): If checked, the video will play as an endless loop.
Tab "General"
Comprehensive metadata of the current media item:
Tab "Preview"
Displays a sample frame for the current media item as preview.
Tab "Codec"
Runs a detailled analysis of the media item contents and presents a list of media parameters:
VIOSO 6 can be used to display live input sources on a calibrated output.
Activate the output and click Live Input
to open the list of available input sources:
Select the live source from the list in the above part of the dialog. As soon as the source is active, it’s contents are displayed on the target selected from the main windows and the options of this source are active. There are two kinds of sources available:
DirectShow: These generic sources are provided by the Microsoft DirectShow driver, which support a wide range of input devices. Typically USB devices like webcams come with DirectShow, but also capturing devices and other sources that provide their stream via DirectShow. Please note, that all settings of a DirectShow device are provided by its driver and piped through VIOSO 6 "as is", so there is no way for VIOSO 6 to alter or influence the appearance of such parameters.
NDI: Requires “NDI Tools (r)” installed – read below
After installing, restart VIOSO 6 and NDI sources will show up as configured and available:
Properly configured, VIOSO 6 can serve as a persistent playback engine that starts with Windows, loads a specific calibration and playlist and runs this playlist unattended.
To achieve this, Autoplay and Autostart are to be configured. Their configuration differs a bit between Free Mode and Project Mode.
First, make sure VIOSO 6 is launched with Windows Startup. Read more here: Autostart
A dedicated profile for performing a calibration and run content with the integrated player exsists:
Create a new project, choose the profile Video Playback
, provide a name, the project file saving location and click Create
.
Create the project design (projectors, camera, etc.).
Select the node "Activate Parameter" and check the box Apply On Startup
:
Proceed with the calibration.
When reacing the Activate
step, select the calibration as target and activate the output, then click Player
:
Check the box AutoPlay
.
Populate the Playlist. For an infinite playback:
Either set one item of the playlist to infinite duration - the playlist will run only this item until stopped otherwise.
Or add a the control item Jump to first item
to have the playlist looped from first entry to the jump entry until stopped otherwise.
In project mode, the last used project is automatically loaded when launching VIOSO 6. Therefore, make sure that the project containing the Video Playback configuration is opened before terminating VIOSO 6.
If so, at next Windows startup, VIOSO 6 is launched (=> VIOSO 6's global Autostart setting
), and due to the Activate Parameter
in the project design as well as the Auto Play
checkbox in the playlist the playback of the content is initiated.
In Free Mode, as there is no automatic loading of the last used project, there is a special setting to achive the same behaviour as in project mode.
First, run through the calibration, populate the playlist or set up the live input, check Autoplay
in the Playlist and activate the playback.
After everything is set up this way and while the content is running, access Menu > File > Activate Autoloading on Startup
:
After accessing, a confirmation dialog shows that the procedure is completed: a copy of the current VIOSO 6 calibration file is made, named _Startup.sps.
At every startup, VIOSO 6 now automatically loads _Startup.sps and performs every action that is configured in this file (calibration, playback or live input, autoplay).
To deactivate this behaviour, access Menu > File > Activate Autoloading on Startup
and the _Startup.sps
file is removed.
Exaplay is the most easiest though very powerful solution to display arbitrary high resolution video contents. VIOSO 6 supports Exaplay in a very convenient way both in project mode and free mode.
Start your calibration project with the profile "Exaplay" and everything will fall in place:
The export node will be populated with all parameters ready to do the export into the standard calibration folder of Exaplay Documents/Exaplay2/target
:
All you might want to change is the name of the calibration file by changing the contents of the fiel Alter File Name Definition
.
Please note, that Recalibration also will export automatically to Exaplay with the same settings.
After finishing the calibration, go to Menu > File > Export Mapping
:
In the Export window, select your calibration (if not already preselected) and click the button Select
.
Choose the directory Documents/Exaplay2/target
and provide a name for the exported file.
Keep all other parameters untouched. Click on Export
will now generate the *.vwf file with the given name at the location you specified above.
Once exported, switch over to Exaplay. The exported calibration is now visible in the tab Target.
Click on Project Home
, select the Screen
and click on the field Calibration
:
A window pops up from where you can select the calibration that just have been exported to Exaplay:
After clicking Open Target
the calibration is immediately applied to the projectors.
The plugin allows you to integrate your display calibration directly into a Unity Application.
Follow the steps below on how to use it:
Next, export your mapping in the VWF format:
From the menu bar, go to File > Export Mapping
Select the VWF format.
if applicable check the “3D” box .
Choose a file name and path.
Click on Export.
Open your Unity Project.
Click on “Import“
Navigate to the plugin directory “Assets\Plugins\vioso” and add your mapping file (.vwf
) to that folder.
Add VIOSOcamera.cs
script to each of your Camera Objects (Assets\Plugins\vioso\VIOSOcamera.cs
)
(!) The cameras for uncalibrated displays (such as a monitor, secondary displays..etc) should not contain the script, as they will not have any warp and blend.
VIOSOWarpBlend.ini
Configuration:
Open Assets\Plugins\vioso\VIOSOWarpBlend.ini
Add the parameters for your cameras as shown below:
calibFile=
: Name of .VWF file(s).
name
: Name of the Camera GameObject in Unity.
CalibIndex
: Assign the Index of the mapping inside the vwf (0,1,2..).
Full list of .ini file parameters: VIOSOWarpBlend.ini Reference
Example of additional parameters:
Add your Pivot Point coordinates for a moving platform by editing the highlighted X,Y,Z parameters of the base matrix as shown below:
Base = [1000, 0, 0,0; 0, 1000, 0, 0; 0, 0, -1000, 0; X, Y, Z, 1]
(X,Y,Z)=(0,0,0)
being the center of the projection screen.
Enable Dynamic Eyepoint by setting eyePointProviderParam
to listen to a specific port using UDP protocol (i.e = port 999)
6. The Integration is now complete. You can preview it by running the player and switching between displays (see note 2 below). If everything looks good, Build your project.
7. Copy the vioso3d.vwf
and VIOSOWarpBlend.ini
files from Unity Assets/plugin/vioso to folder [your_build_path..]/_data/plugin/ next to ViosoWarpBlend.dll
.
8. Launch your application and you should see your calibration active on the displays.
Download the package from our bitbucket and follow the instructions in the Readme.md
Unity’s multi-display system can enable only a maximum of 8 displays. Digital display compounds (Nvidia Mosaic, Surround, Eyefinity, Datapath..etc) can be used as a workaround to this limitation. You must then use single perspective 2D mappings or develop your own split screen method (see 4.)
Cameras not displaying in the correct display order:
1st fix: From the Unity camera parameters, change the “Target display” to match the “Windows Display Settings” order.
2nd fix: From the VIOSOWarpBlend.ini change the “calibIndex” between cameras to swap the order.
Color space: The VIOSO plugin blending shader uses the Gamma color space, so make sure your project is not set to Linear. Project Settings > select the Player category > Other Settings > Rendering
Stacking other post-processing effects: Our post-process is usually applied last in the chain, so it will warp and blend on top of other effects. Just make sure your effects are supported in multi-display mode and that they synchronize well across cameras.We positively tested several effects such as frustum culling, volumetric lights (Aura) and color grading.
You can manually add the following parameters to your cameras in VIOSOWarpBlend.ini:dir= [x,y,z] : Direction.fov=[x,y,z,w] : Field of view. They will be recalculated automatically and overwritten if bAutoView = 1.
Log message: Fatal Error: Failed to load VIOSOWarpBlend
This occurs when Unity successfully loaded VIOSOPlugin.dll but not VIOSOWarpBlend.dll. A common reason is missing runtime redistributables which can be solved by installing our VIOSO software on the machine.
Check VIOSO_Plugin64.log
in the build directory \plugin to monitor the status and errors.
Integration to nDisplay
This section provides a guideline on how to integrate VIOSO calibration data into Unreal.
Workflow in the steps below:
From the menu bar, go to File > Export Mapping:
Select your compound display.
Select the VWF or VESA MPCDI v2 format.
Make sure the 3D box is checked, and for mpcdi set Blend Bit depth to Grey8 or Grey16
Choose a file name and path.
Click on Export.
– For mpcdi: the export will be a folder containing an XML document along with a set of PFM
files for geometry and their respective blending masks as PNGs
.
– For vwf: the export will be a VIOSO format file containing several mappings or a set of files containing one mapping each. You can preview vwf files in Windows with a tool installed by default with the VIOSO software: C:\Program Files\VIOSO6\Shared tools\VIOSO_CalibAssign64.exe
a. Workflow
The integration of the calibration files is done through the Projection Policy of the nDisplay viewport.
The configuration parameters are detailed in the table below:
VIOSO
VIOSO type
Explicit VWF: reference directly the calibration file (.vwf) exported from VIOSO
VIOSO
file
vwf: calibration file exported from the VIOSO software.
VIOSO
Units in Meter
The units of the 3D model used in the VIOSO calibration. By default VIOSO’s own models are inmilliliters, so units in meter = 1000
VIOSO
Calib index
Index of the mapping inside the calibration file, in case several projectors are exported to a single file
VIOSO
origin
The ID of a [scene_node]
that defines the origin for the projection screen. This maps the frame of reference defined in the calibration to the virtual space in your Unreal Engine Level. Defaults to the origin of the 3D model used in the VIOSO calibration.
You can use this node as an offset to position the projection screen in the 3D scene.
VIOSO
Enable Preview
Renders the VWF mesh in the editor viewport preview.
MPCDI
pfm
Geometry file exported in the VIOSO mpcdi folder
MPCDI
png
Blending file exported in the VIOSO mpcdi folder
VIOSO / MPCDI
View Origin
Origin of the viewing frustum. You can use this as an eyepoint node, to allow static/dynamic perspective correction.
b. Example Configurations
Make sure all paths and file names of your configuration contain no spaces.
Carefully verify the syntax of your .cfg /.nDisplay
file. A single typo may cause the application to crash at start-up.
Check the log files generated in [YourBuildPath]\nDisplay\Saved\Logs
to monitor the events and errors of the application.
Make sure that the Windows account you intend to use on the master computer has administrative rights on all computers you will use in the nDisplay network.
Make sure that all computers you want to use in the nDisplay network can receive TCP/IP communications over ports 41000, 41001, 41002, and 41003.
Eyepoint Position: you can define the initial eyepoint position relative to your 3D model center by adding an “origin” param in the projection definition (MPCDI or VIOSO) and then defining its coordinates in a [scene node]. This origin is relative to the center of the 3D model used for the calibration and expressed in UE coordinate system.
VIOSO also has a native integration into nDisplay (UE v4.26+), allowing you to use the (.vwf) export format instead of MPCDI in the projection policy. This table summarizes the main differences and advantages of choosing between the two formats:
.mpcdi
.vwf
Unreal versions
v4.24 and later
v4.26 and later
DirectX12 support
✓
beta
Mesh preview inside Unreal Engine
✓
x available from v5.3.1+
Calibration Type
3D only
2D & 3D available from v5.3.1+
Color Adjustment, RGB blending/matching
x
✓
Overshoot masking
must manually draw masks
automatically masked from the warping result
Alpha/Gamma Blending factor
adjustable in the nDisplay config file Recommended=2
adjustable in the VIOSO export window Recommended=2
A useful feature of VIOSO 6 is to apply the calibration to the Windows desktop. This allows any program to be run in Windows and displayed on the calibrated screen.
Popular programs run in this mode are for example: Fullscreen custom apps (games, web apps in browser), Media player, CAD programs, Resolume, Powerpoint etc…
Create a new project with the preset: Desktop Warp
:
You can setup the different nodes for the project: projectors, surface type, camera..etc
Make sure that the computer node shows a proper splitted Mosaic group. The split should be detected automatically by VIOSO 6 - if not, this might indicate that something isn't properly set up and therefore will lead to issues.
In this preset, there are extra main options to customize:
Overlap type
Select the server node.
Find the “Desktop Warp Parameters” section.
Unchanged: leaves the windows display resolution as is
Explicit: manually choose your own final resolution for the desktop
Auto: will set the resolution automatically based on the overlap calculated by the calibration.
Activate parameter
Click on the node from the layout to expand its parameters
Apply On Startup; automatically activates the calibration on the GPU when VIOSO6 starts.
Special API parameters: timeout values for the embedding command
Below is an example of a project configuration consisting of 2x projectors combined horizontally in one Nvidia Mosaic.
Finally, when the calibration is finished you will unlock the button “Activate” which applies the warping and blending to the GPU.
VIOSO offers WarpBlend API that is already integrated in many real-time applications, it is capable of processing its native export .vwf (VIOSO Warp Format) to perform warping, blending, perspective correction & dynamic eyepoint correction directly in the engine (DirectX, OpenGL, Vulkan).
When using multiple overlapping projectors, residual light is inevitably emitted even when a completely black image or no signal is being displayed. This phenomenon is known as the black level. Additionally, most projectors emit light in regions outside their actual image area—known as the margin—which cannot be directly controlled by the projector.
The complexity of black level compensation arises due to several factors:
The brightness of the margin correlates with the brightness of the projected image.
Margins are subject to the same perspective distortions as the image area.
Projectors behave non-linearly at low brightness levels, and this behavior varies by manufacturer and model.
Overlapping projector margins accumulate light, leading to noticeable bright spots.
Cameras used for calibration have limited dynamic range, making it hard to capture true black images.
Human vision is highly sensitive to small differences in brightness, especially in dark conditions.
As a result, black level compensation is achieved by slightly increasing the overall projection brightness to homogenize the overlapping regions. This always reduces contrast and makes true black impossible to reproduce.
Goal: Apply the minimum possible increase in brightness to visually mask overlapping areas, balancing accuracy and perceived image quality.
Before embarking on the actual implementation of a black level uplift, it is important to be fully aware of the prerequisites and limiting factors. We will therefore now take a closer look. Only by understanding what can be compensated for and to what extent can the tools for black level uplift be used sensibly.
A projector cannot compensate for its own margin—it can only be adjusted by overlapping neighboring projectors.
Projector pixels are the finest spatial unit and cannot be partially controlled. See above diagram: compensating is limited by the largest pixel size (gray line)
Spatial resolution varies across the projection surface due to geometry and projector placement.
Overlapping projectors usually differ in pixel orientation and resolution, leading to only approximate edge matching.
For example, in a setup using 10 UHD projectors calibrated with a 5 MP camera, each camera pixel may cover up to ~26 projector pixels, limiting the effective calibration resolution.
The limited number of black level brightness steps (e.g., 20), nonlinear light behavior, and perceptual sensitivity restrict the use of smoothing or dithering techniques.
Conclusion: The effective accuracy of black level compensation is determined by the spatial resolution of projectors and their measurement quality in relation to their neighbors.
Even if projector edges are approximated with pixel accuracy, visible differences may still occur—especially at short viewing distances.
There are four approaches in VIOSO 6 available. For a quick test, you can start with texture based blacklevel compensation. As soon as you are looking at production-grade results, go for Region based blending compensation.
Manual blacklevel region generation is also available, but recommended only for setups with low complexity.
This compensation of the black level is based on existing blending textures that are used for blending the projectors. It's the most straight forward approach, but is limited by the resolution of the camera that is used to scan the projectors.
Advantages:
No dedicated calculation required
No explicit margin handling needed
Supports automatic recalibration
Simple slider-based configuration (yellow slider)
Disadvantages:
Resulting black level is relatively bright (~20–30% projector brightness).
Significantly reduces contrast for actual content.
Activation: After blending is completed via the Color & Blending button.
Option: Enable blended blacklevel
.
Adjustments:
Set all region brightness sliders to 100% (blue rectangle).
Use dark/bright value maintain
to adjust contrast (green arrow)
Use blacklevel
slider to adjust the effect of the blacklevel uplift (yellow arrow)
This method requires a dedicated calculation to create overlap regions with higher accuracy than the texture-based approach. The regions are calculated in the camera space, which reduces the computation time but provides less accurate regions.
Advantages:
Lower black level brightness (~8% projector brightness).
Fine-tuning possible based on human perception.
Disadvantages:
Limited accuracy in edge detection due to camera space processing.
Requires consistent camera and projector orientation for margin customization.
Automatic recalibration depends on prior conversion task.
Preprocess: Activate during or after camera-based calibration. A standard size is used for initial calibration with regard to the size of the margin.
Perform conversion task from the menu Calibration
> Conversion Tasks
> recalculate blacklevel:
This will perform a conversion that creates the blacklevel regions based on the camera image.
Margin Settings: adjust left/right/top/bottom
(blue rectangle) to whatever fits to your projector setup
Option: use all in one blacklevel method
controls how the brightness of the margin can be adjusted
Enabled: Margin is treated like any other overlapping region. In setups with a high degree of overlap, overlapping margin regions may potentially be too bright, as they cannot be distinguished from normal overlap regions
Disabled: Separate compensation for margins and overlaps.
Perform the conversion by clicking Perform
Adjustments
Within the Color & Blending dialog the impact of the blacklevel uplift can be adjusted:
Important: Disable blended blacklevel
(red arrow)
Adjustments:
Set all region brightness sliders to 100% (blue rectangle).
Use dark/bright value maintain
to adjust contrast (green arrow)
Use blacklevel
slider to adjust the effect of the blacklevel uplift (yellow arrow)
Ensure
blended blacklevel
is disabled.
This method requires a dedicated calculation to create overlap regions with higher accuracy than the texture-based approach. The regions are calculated in the projector space, which resembles the highest accuracy for the blacklevel compensation regions.
Advantages:
Higher accuracy due to projector space computation.
Independent margin configuration regardless of orientation.
Lower black level brightness (~8%).
Viewer-adjustable compensation tailored to perception.
Disadvantages:
Requires preprocessing.
Takes long time to compute.
Preprocess: Activate during or after camera-based calibration. A standard size is used for initial calibration with regard to the size of the margin.
Perform conversion task from the menu Calibration
> Conversion Tasks
> Projector Space blacklevel
:
Adjustments: see above
With this method, the overlapping regions can be adjusted or created manually, otherwise this method corresponds to "Region based".
Advantages:
Full manual control of overlap zones.
Based on accurate projector space data.
Disadvantages:
Requires manual setup and understanding of projection geometry.
How to use:
To avoid having to start from scratch, deactivate “auto blacklevel compensation” option in Figure 3 and run the conversion task Projector Space overlap
:
Adjustments
Within the Adjust projector dialog each projector can be adjusted via the blacklevel
button
Each overlap region can be adjusted, new overlaps can be created and their shape adjusted with mouse and keyboard interaction:
These examples are built in the Switchboard environment for nDisplay.
To view the configurations properly, use notepad++ in “json” language.
To work exclusively on the .ndisplay file instead of the .uasset in the UE editor, make sure to empty the parameter: "assetPath": ""
To enable movement control via WASD and mouse, set bFollowLocalPlayerCamera
to true.
To use offsets in windows and viewports, make sure to set the node’s fullscreen
parameter to false.
If using the (VWF) format, make sure switchboard is set to Directx 11.
If using remote desktop control (e.g Teamviewer), make sure its not modifying window resolutions and coordinates (scaling, fit to screen..etc).
CAVE setup:
1x FHD 1920×1080 monitor: skipped by nDisplay
1x Mosaic of 3x FHD PJs: 5760×1080
Custom eyepoint : z=180 cm
Panadome Setup:
2x FullHD Monitors: 1920×1080 : To be skipped by nDisplay.
1x Portrait Mosaic of 3x Projectors: 4800×2560 : Target display to run the application.
Panadome Setup: this 2D example shows the result of a 2D/manual calibration, blending one single texture accross all displays in a single viewport.
2x FullHD Monitors: 1920×1080 : To be skipped by nDisplay.
1x Portrait Mosaic of 3x Projectors: 4800×2560 : Target display to run the application.
This guide shows you how to integrate your VIOSO projection calibration into MiddleVR.
Export your calibration in the VWF format with 3D.
Create an .ini file for each display in the format below. You only need to change calibFile
path (exported mapping from VIOSO), [Channel_Name]
(of your choice) and calibIndex
:
You can also find these steps in the MiddleVR Documentation
in 3D nodes: Start by adding a new Vioso Warper
Your VIOSO calibration is now integrated.
Go back to the APPS tab and click on RUN.
In the Displays section, make sure the Window Mode is set to Compositor or Proxy
Check the VIOSO log file here: C:\Users\[YourUserName]\AppData\Local\Temp\MiddleVR\MiddleVR_2023-06-29\MiddleVR_Vioso_1.log
Moving the camera far away from the screen can result in black borders appearing around the screen. To fix this, you can adjust the field of view coverage by increasing the autoViewC
variable in the .ini files until you get no visible black borders on the edges.
To run middleVR on several clusters with a VIOSO calibration make sure you take into consideration these measures:
Calibration files (.vwf) and configuration files (.ini) must be available on all clusters with the same path. It is recommended to use local drives instead of a common network drive for better performance.
Assign a viewport to every cluster. In case one cluster node is not part of the projection calibration, simply create a standard screen and camera for it in the 3D nodes tab.
VIOSO 6 provides projector calibration to be integrated with commonly used media servers. Here you find step-by-step walktroughs:
VIOSO offers a library for integration in image generators and rendering/media engines. Its main features are:
Warping: apply geometric correction and distortion compensation.
Blending & masking: apply soft-edge gradients and black-out masks.
Automatic view calculation: set the direction & field of view of each virtual camera based on the calibrated mesh.
Perspective correction for static/dynamic eyepoint: supports dynamic views and warping per frame, for VR, tracking, motions platforms, etc.
The API takes as input a .vwf export file and a texture buffer to sample from. If no texture buffer is given, it uses a copy of the current back buffer. The output is rendered to the currently set back buffer.
The API is available open-source here on bitbucket:
The VIOSOWarpBlend binaries for Windows are include in “bin” folder, so you do not need to compile the API by yourself on Windows platforms.
There are various examples for (nearly) all rendering APIs: DX9, DX11, DX12, OpenGL, Vulkan..
This guide shows you how to integrate your VIOSO projection calibration into Techviz.
Techviz processes VIOSO’s native export format (.vwf). You can export the calibration in this format from in VIOSO6 from free mode or project mode
You must then enable VIOSO warping in your Techviz configuration file. This is done by adding the following parameters:
All of these parameters can be modified interactively, including the .ini file: simply click the “Read configuration file” button in Otrack to apply your changes.
With the release of Pixera 2 (from version 2.0.167 / August 2024) the intgeration has reached a new level by adding the latest VIOSO 6 module for calibration and providing a tight integration for more ease of use, handling complex scenarios and enabline 1-click recalibrations.
See the features of Pixera + VIOSO in comparison:
When using the VIOSOWarpBlend.dll, the behaviour of the calibration processing is configured by configuration file VIOSOWarpBlend.ini
. This file must be placed in the same folder as the DLL.
Every parameter is first read from the section with the channelname, provided at initialization, then if not found from default. A section is defined by putting a name into square brackets at the beginning of a line: [channel1]
The configuration parameters are outlined here with values for a typical off-the-shelf installation. Default values are used if the configuration parameter is missing or invalid.
This matrix is needed, if you use 3D maps, suitable for variable eye point. It describes the transformation from your 3D world to the VIOSO 3D world. It needs to be THE SAME for ALL IG channels. So define this in [default]
section.
The VIOSO coordinate system is set by the model you use. In case you use a simple model generated by VIOSO Core or Integrate, the world is denoted like this:
Flat Screen
World origin is horizontally centered on lower edge
Axes: +X right, +Y up, +Z back
Unit: Millimeters
Cylindric Screen
World origin is mid-point of base (lower) circle
Axes: +X right, +Y up, +Z back
Unit: Millimeters
Panadome
World origin is mid-point of sphere
Axes: +X right, +Y up, +Z back
Unit: Millimeters
Dome
World origin is mid-point of sphere
Axes: +X to -90°=270°=WEST, +Y to 0°=NORTH, -Z up to zenith
Unit: Millimeters
The base matrix is a homogenous transformation shaped like this:
R
is a 3×3 rotation/scaling matrix to convert axes directions and unit scale.
t
is a translation vector. It points from (VIOSO)model origin to IG origin in model coordinates. This vector is added to each IG coordinate.
The eye-vector is added after rotation around the pivot. This needs to be same on all IG channels, serving same eye. So define this in either [default] section for non-stereoscopic displays or put it to the [channel] making sure all right-eye channels are same respectively all left-eye channels. It is needed, if the rotation center is not the eye itself. I.e. a cockpit is mounted on top of a frame, and the center of the frame is rotated or IPD. So the actual eye must be rotated with the actions of the platform relative to the rotation center.
The Player of VIOSO 6 is built on top of the widely used FFMPEG library and therefore is capable of processing a vast amount of video and audio codecs. To get a full list of supported codecs and containers, please take a look at the comprehensive .
*.
*.
*.
*.
For a full list of supported codecs and containers, either visit this or the of the FFMPEG documentation.
VIOSO 6 provides native support to display NDI streams. For this to work, you need to install the free “NDI Tools (r)” software package: .
After finishing a calibration (complete and ) you can export to Exaplay by clicking the button Export (keeping all settings made in the project designer):
Perform a calibration with VIOSO 6 or Anyblend VR&SIM or VIOSO Integrate plus either in (for static warping & single viewport) or (model based for dynamic warping & multi-viewports)
You can use with the Unity template or .
and import “Multi-Projection Integration for Warping and Blending” asset to your project.
– HDRP:
– URP:
Demo project: download a demo with a sample VWF calibration file here:
Make sure you activate multi-display support in your Unity Application.
Unity’s default display mode is one monitor only. When you run your application, you need to use Display.Activate()
to explicitly activate additional displays.
Follow the Unity Manual
The multi-display feature of Unity only runs in the built standalone application. However, you can preview your displays in the Editor by running the project (Play button), then navigating through displays in the Game tab to see the different calibrated outputs:
Unity renders by default a single camera per display, if you need to have multiple warped perspectives on a single display, you must configure split screen outputs for your project, for example using a render texture for each camera, find .
Dynamic Eyepoint: Enable Dynamic Eyepoint in VIOSOWarpBlend.ini by setting eyePointProviderParam to listen to a specific port using UDP protocol (i.e = listen 999). The format of the coordinates is the following: Px Py Pz Rx Ry Rz
where P is the position and is the rotation. For a simple test, you can use =sinewave to undulate all axes and angles in a loop, or download our Eye Tracker Simulator .
Make sure you build for x86_64
Architecture so that the .dll libraries load properly.
File > Build Settings:
Unreal Engine uses for distributing and synchronizing content over multiple displays and servers. It can use VIOSO’s calibration data through the MPCDI or .VWF data formats.
Perform a camera based 3D calibration with VIOSO 6 SIM or Anyblend VR&SIM (version 5.1.7 or later). You can use either: or
NDisplay can read VWF (3D/2D) or VESA MPCDI v2 3D formats. The difference between both formats is explained in section .
First you need to setup your project and have it up and running on all clusters and displays. Then, switch the projection policy of each target viewport to type= VIOSO or MPCDI. You can do this either through the user interface or by editing the (.ndisplay), (.cfg).
VIOSO: reference the standard API configuration file:
ini file: API configuration file with extra parameters:
For v4.26 and older versions of Unreal, you can .
(article)
After you finish the design step, perform the calibration as usual:
v4.26+
Processing MPCDI Files
Processing *.VWF files
Based on nDisplay
SRP, HDRP, URP v2018+
Processing *.VWF files
Requires
v2.0+
Processing *.VWF files
v5.10+
Processing *.VWF files
is a Unity plugin designed to enable the deployment of Unity applications to VR systems such as Walls, CAVEs, and other cluster rendering systems.
You can use either or mode for performing a 3D calibration.
Enter the configuration file and channel name. You can find a template of a .ini file in MiddleVR2/data/Vioso_MiddleVR_Template.ini
Assign the warper to a Camera
For older versions of MVR, please follow our old helpdesk doc.
Follow the from middleVR for the initial setup of your multi-cluster system.
To enable VIOSO warping, you must first create a file. Use the following template:
The software Pixera is the latest branch of media server softwares from the Austrian company AV Stumpfl. VIOSO has a history partnering with AV Stumpfl for many years, so it is natural that Pixera comes with a tight integration of VIOSO's autoalignment technology. Learn more about Pixera on .
*) multi client is somehow doable using a quite complex procedure of file naming and file distribution. Learn more here:
based on
VIOSO Anyblend 5
VIOSO 6
projectiontools 6
optional available for Pixera
fully integrated with Pixera
yes
yes
no
single camera autoalignment
yes
yes
yes
2D content mapping
yes
yes
yes
3D content mapping
no
yes
yes
multi-client support
no*
yes
yes
1-click recalibration
integrated workflow only
integrated & standalone workflow
standalone workflow
multi-camera autoalignment
no
no
yes
marker based auto-mapping
no
no
yes
logLevel=1
0
log level: 0 – only fatal errors, 1 – only errors and important info,# 2 – normal log, but guaranteed no info logging in render and frustum methods, 3 – verbose debug log,
logFile=VIOSOWarpBlend.log
VIOSOWarpBlend.log
some other log file;relative paths are relative to VIOSOWarpBlend.dll, not the main module!
bLogClear=0
0
if 1, clear the logfile on start
near=1.0
the near plane
far=20000.0
the far plane
trans=[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1]
this is the transformation matrix transforming a vioso coordinate to an IG coordinate. Units should match the units of 3d modell. Last raw defines the pivot of a moving platform, column major format
base=[1,0,0,0;0,1,0,0;0,0,-1,0;0,0,0,1]
same as above, row major format DirectX conform, as DX uses left-handed coordinate system, z has to be inverted!
bTurnWithView=1
0
set to 1 if view turns and moves with eye, i.e view is obtained from a vehicle position on a moving platform
bBicubic=0
set to 1 to enable bicubic content texture filter
bDoNotBlend=0
set to 1 to disable blending
bDoNoBlack=0
0
set to 1 to disable software black level correction
splice=0
bitfield:
0x00000001 change sign of pitch
0x00000002 use input yaw as pitch, 0x00000004 use input roll as pitch
0x00000010 change sign of yaw
0x00000020 use input pitch as yaw, 0x00000040 use input roll as yaw
0x00000100 change sign of roll
0x00000200 use input pitch as roll
0x00000400 use input yaw as roll
0x00010000 change sign of x movement
0x00020000 use input y as x
0x00040000 use input z as x
0x00100000 change sign of y movement
0x00200000 use input x as y
0x00400000 use input z as y
0x01000000 change sign of z movement
0x02000000 use input x as z
0x04000000 use input y as z
mode
0
DEPRECATED
mode=0: same as splice=0 mode=1: same as splice=290; mode=2: same as splice=307;
bAutoView=0
0
set to 1 to enable automatic view calculation
When enabled, it will override dir=[], fov=[] and screen to use calculated values
autoViewC=1
1
moving range coefficient. Set a range in x,y,z from platform origin to be mapped; x+- autoViewC * screen / 2
gamma=1.0
1
set a gamma value. This is multiplied by the gamma already set while calibrating!, If calibrators blend looks different than in your application, adjust this value!
port=942
0
set to a TCP IPv4 port, use 0
to disable network. defaults to 0, standard port is 942
addr=0.0.0.0
0.0.0.0
set to IPv4 address, to listen to specific adapter, set to 0.0.0.0 to listen on every adapter
heartBeat=3
0
set to a time interval in ms a UDP broadcast is sent to port
, defaults to 0
, which means no heartbeat is sent; only avaliable if “port” is set to enable network functions
bUseGL110=0
0
set to 1, to use shader version 1.1 with fixed pipeline
bPartialInput
0
set to 1, to input texture act as optimal rect part
eye=[x,y, z]
[0,0,0]
this is the eye position relative to pivot
dir=[x,y, z]
[0,0,0]
his is the view direction, rotation angles around axis’ [x,y,z]. The rotation order is yaw (y), pitch (x), roll (z); positive yaw turns right, positive pitch turns up and positive roll turns clockwise
fov=[x,y,z,w]
[30,20,30,20]
this is the fields of view, x – left, y – top, z – right, w – bottom
screen=3.650000000
1
the distance of the render plane from eye point. Watch the used units!
calibFile=..\Res\Calib.vwf
path to warp blend file(s), if relative, it is relative to the VIOSOWarpBlend.dll, not the main module! To load more than .vwf/.bmp, separate with comma.
calibIndex=0
index, in case there are more than one display calibrated; if index is omitted you can specify the display ordinal
calibAdapterOrdinal=1
0
display ordinal the number in i.e. “D4 UHDPROJ (VVM 398)” matches 4. In case no index is found index is set to 0
calibSplit=[x,y,z,w]
[0,0,0,0]
x: number of columns, y: number of rows, z: column index, w: row index
If you want to split a map into 2 side-by side parts set to [2,1,0,0] for the left side and [2,1,1,0] for the right part
eyePointProvider=[EyePointProvider]
eye point provider dll name; the name is passed to LoadLibrary, so a full qualified path is possible, use quotes if white spaces
eyePointProviderParam=[]
string used to initialize provider, this depends on the implmementation
mouseMode=0
bitfield, set 1 to render current mouse cursor on top of warped buffer
R21
R22
R23
0
R31
R32
R33
0
tx
ty
tz
1
Calibrate the projectors in either in:
From the menu bar, go to File > Export Mapping
Choose the format (.vwf) and tick the 3D box if applicable.
You can either create a project with the “Generic” template and configure the export and mapping type (2D/3D) in the designer
OR pick a template that has 3D vwf exports like “Unity”
it is possible to export the calibration to then use it in Watchout if you are using an open-OS server as you need to install VIOSO 6 on all machines.
If VIOSO is used in "free mode", the export settings must be made manually. In project mode, a preset can be selected when creating a new project.
Presets for Watchout 6 and Watchout 7 already exist to feed Watchout warping & blending data the MPCDI format to apply the calibration information. Watchout 6 uses MPCDI V1, Watchout 7 uses MPCDI V2.
The support for warping & blending differs between Watchout 6 and Watchout 7. Whenever possible we recommend using Watchout 7 in connection with autoalignment due to it's improved flexibility:
Data Exchange Format
MPCDI version 2
MPCDI version 1
Warping accuracy
high
low
Recommended screen geometries
flat curved dome complex shapes
flat
Blacklevel uplift
supported
not suppoted
There are basically two ways of integration: fully integrated calibration or stand alone calibration with calibration file transfer.
In this mode, everything regarding screen setup, device management and calibration file processing is handled by Pixera . It utilized a special build of VIOSO Integrate that is bundled with Pixera . It's called "Pixera Autocal" and is part of the PIXERA installer, thus available for every installation. While in demo mode, all calibrated results will show a watermark. To have the full functionality unlocked, a license for Pixera Autocal is required, which need to be acquired directly from AV Stumpfl.
The advantage of this tight integrations is a continuous workflow. An operator does not need to "leave" the Pixera environment, all parameters regarding screens, projectors, devices, etc. are automatically shared and transferred with Pixera Autocal, as well as the final result for the output processing. It found in the screen properties within the Mapping tab:
There are more complex scenarios, where a more fine-tuned operation is required, than the "one-stop" solution shown above. For such use-cases it is possible to run PIXERA Autocal independed from PIXERA, or use alternative calibration solutions from VIOSO.
Pixera Autocal is licensed by Pixera itself. You need to have a fully licensed Pixera dongle including Autocal license to launch a calibration or load calibration files
To launch Pixera Autocal, you need to launch Pixera first. There is no need to load a specific project - simply have Pixera running (using a dongle with an appropriate license for Pixera Autocal or Pixera Autocal Plus)
Make sure to have no output running by Pixera.
Now you can navigate to the Pixera installation folder and run Pixera Autocal from there.
Pixera Autocal executables are located within the program folder of the Pixera install: [pixera install folder]\vioso\autocal\SPAutoCal64.exe
Launching Pixera Autocal fails
This window pops up, if Pixera Autocal is launchen without having Pixera running:
In this case, launch Pixera (no need to start a specific project) and then launch Pixera Autocal again.
Pixera launches VIOSO for single client use only. To enable multiple clients, the projectors of all connected clients must be virtualized on the master PC. This is done by creating a so called "Abstract Display" configuration.
Read here how to configure this:
Multiclient Configuration (Abstract Displays)
The transfer to Pixera consists of two actions:
After the calibration is done, select "File - Export" and select as Export format "VWF format". This creates one *.vwf file in the destination folder you specify in the Export path below.
Click the checkbox "3D" if you calibrated your screen with a UV-map:
The functionality to load *.vwf files is found in the screen properties within the Mapping tab:
Clicking on load will open the following window including name of selected screen & physical outputs assigned to this screen:
Then, you need to click on the hidden button under "Existing Vioso Warp File" to open the file explorer and select your .vwf file:
Once you see the path written in the box, just press "Load warp file" and your VIOSO calibration will be loaded inside your screen inside Pixera.
You are now free to activate/deactivate that calibration in the mapping tab of Pixera (shortcut is F5) :
Depending your system configuration, the way to load .vwf exported files will be different. Pixera 1 expects all calibrations present on the computer acting a master and one calibration on each client, residing in the same drive path and naming.
You have multiple clients, and your director server does not playback video: exporting your compound will generate 1 .vwf file per client with name + Client IP.
You must then use the exact same path on Master and clients to store your calibrations (in the following exemple C:\Calib). Each Client need only his .vwf file and the master must have all .vwf files as shown here:
In Pixera, select your screen and load all .vwf files from the master at the same time using multi-select
Here is an exemple of how your .vwf files setup looks like on your network:
Director IP: 10.0.0.1
C:\Calib\ExportPixera.vwf C:\Calib\ExportPixera-10.0.0.10.vwf C:\Calib\ExportPixera-10.0.0.20.vwf C:\Calib\ExportPixera-10.0.0.30.vwf
Client 1 IP: 10.0.0.10
C:\Calib\ExportPixera-10.0.0.10.vwf
Client 2 IP: 10.0.0.20
C:\Calib\ExportPixera-10.0.0.20.vwf
Client 3 IP: 10.0.0.20
C:\Calib\ExportPixera-10.0.0.30.vwf
You have multiple clients, and your master server does playback video: exporting your compound will generate 1 .vwf file per client with name + Client IP and 1 with only original name on master.
You must then use the exact same path on Master and clients to store your calibrations. In addition, you need to store on master it’s own .vwf file + dummy version of the clients .vwf files:
A “Dummy calibration” is an arbitrary file (e.g. an empty text file), that needs to be renamed exactly like a “real” *.VWF file (including the file extension). Upon renaming Windows might display a warning: ignore this warning and proceed (it’s a good indicator that you are doing the right job).
In Pixera, select your screen and load all .vwf files from the master at the same time (Master vwf+dummies):
Here is how your .vwf files setup looks like on your network:
Director IP: 10.0.0.1
C:\Calib\ExportPixera.vwf C:\Calib\ExportPixera-10.0.0.10.vwf (dummy, 0 kb filesize) C:\Calib\ExportPixera-10.0.0.20.vwf (dummy, 0 kb filesize) C:\Calib\ExportPixera-10.0.0.30.vwf (dummy, 0 kb filesize)
Client 1 IP: 10.0.0.10
C:\Calib\ExportPixera-10.0.0.10.vwf
Client 2 IP: 10.0.0.20
C:\Calib\ExportPixera-10.0.0.20.vwf
Client 3 IP: 10.0.0.20
C:\Calib\ExportPixera-10.0.0.30.vwf
The freemode is prepared as usual, a possible split has to be set up, the projector outputs used have to be selected, a camera has to be selected, the mode of operation has to be selected and further parameters can be adjusted.
Learn more about the configuration of VIOSO 6 in free mode: Free Mode
As soon as the calibration is started, the calibration process is identical to the project mode, which is elaborated below.
In order to be able to use the result of a calibration in Watchout, it is necessary to set the export accordingly.
If you choose the Watchout v7 Preset, the most things are preset accordingly to the needs of Watchout.
The following is important for the export:
Watchout 7 required MPCDI v.2 formats
You need to export a virtual content rectangle. Thats the complete screen as result of the calibration. Otherwise Watchout will create an infinite sized screen that will crash the Software.
Another big role is played by the number of columns and rows used to create the MPCDI file. Simple screens can be created with a quarter of the resolution; if the surface becomes more complex, the values have to be corrected upwards. The resolution represents the maximum value, more rows and columns are technically not better, or a value that is too high can impair the performance of the media server.
Another challenge is the MPCDI format in the edges. Since the measurement results tend to fray at the edges, it helps to make the warp a little larger and to mask the edges. The masks are then also exported and displayed correctly.
Once the MPCDI file is created, it can be imported into Watchout. A corresponding screen is created in Watchout and the warps, blends and masks for the screen are saved.
The export parameters can be adjusted in the Designer by selecting the export node:
Click on the node to activate the inspector providing the export parameters:
Virtual Content Mapping Parameter Virtual content rectangle - is the outline of your calibrationresult. If cheched it's exported as required in Watchout. Width and Height - Here you can enter the resolution of the content you are expecting. If you leave 0 - 0 the calibrated pixelspace will be used.
Special Mapping Parameter Checkbox - exports in case the used 3D model
Export Destination Path - Enter an individual export path File Name Definition - Enter an individual file name Transfer all - Transfers all files to export destination create Backup - creates a Backup of the export in the VIOSO folder
Transfer to remote machine Ability to transfer the calibration automatically to clients if needed
Display Split Parameter Keep Splits - should be unchecked if you use a Mosaic setup
Grid Parameter Rows and Columns - The Mesh thats used to create the MPCDI file
Exclude Parameter Check to exclude parameters from export (no need to checn any of these)
Calibrate the Screen as needed. Learn more here: Calibration
When exporting MPCDI files, the edges may be jagged. In order to master this phenomenon, you should always warp a little larger. A few pixels are enough. If you now set output masks at the edge, these are exported separately and then displayed correctly.
Learn more about masking here: Projector masking
Export the calibration as set in the designer (project mode) or configure manually (free mode). Imperative values for Watchout are:
MPCDIvv
check virtual "content rectangle"
change the amount of columns and rows to get a good result
Open your show or create a new show, right click in the assets and choose "New media file":
Load your MPCDI v2 data:
Drag and drop the MPCDI file shown in assets onto the stage:
Enter the IP of the screen created:
Done! Your are good to play content:
With version 2.0.167 Pixera comes with a VIOSO 6.1-based calibration module and a completely renewed way to handle the inter-program communication. This avoids many of the obstacles in the past and enables a way more capable and streamlined workflow.
In the following chapters we concentrate soley on this and future builds of Pixera.
The VIOSO licensing of Pixera 2 is handled by Pixera dongles on a per-projector basis:
In Pixera license information it is shown as VIOSO Product: VIOSO 6, x Outputs.
Licensing for VIOSO outputs is solely handled by the Pixera Renderengine. For each PC that is rendering on projectors, the appropriate number of VIOSO Outputs must be licensed. Pixera Director or Pixera Creator PCs do not require dedicated VIOSO licenses.
VWF files created by genuine VIOSO 6 software of projectiontools software (sold by VIOSO GmbH) will work within Pixera without the requirement of VIOSO outputs on Pixera-side. This avoids double-licensing requirements (e.g. if existing VIOSO software of projectiontools software is used)
Pixera Client Pixera running on single PC
1 per projector
Pixera Creator
0
shows Demo overlay on outputs
Pixera Director
0
Using fully licenced VIOSO 6 software
0
Using projectiontools software
0
If a dongle contains "old" VIOSO licenses, it won't launch the new VIOSO 6.1-based calibrator but throw this warning:
The easiest way to resolve is to update the dongle to enable the use of VIOSO 6.
As a fallback, an custom build of the autocalibration can be used, which is set in Settings / Calibration:
The autocalinbration software comes bundled with each Pixera installer.
VIOSO 6 for Pixera installation path
C:\ProgramFiles\VIOSO6_Pixera
Program exectuable
C:\ProgramFiles\VIOSO6_Pixera\SPCalibrator.exe
Standard path for projects
Documents/VIOSO/VIOSO6_AVStumpfl/Projects
Standard path for calibrations (free mode)
Documents/VIOSO/VIOSO6_AVStumpfl/Calibration
Global program configuration
C:\ProgramData\VIOSO\VIOSO6_AVStumpfl
VIOSO 6.1 comes with two modes of operation: Free mode and Project mode (learn more about this here: Project Mode vs. Free Mode.
Both modes are supported within Pixera 2, including 3D mapping features of free mode and 1-click recalibration automation for both modes.
We recommend to go with the Project Mode as default as it faciliates the setup by a great deal.
The new project mode in VIOSO 6 simplifies complex configurations involving multiple clients, projectors, and master PCs.
The basic topology is first created in Pixera. Screens and projectors are set up first, then the clients are connected and assigned. When calibration begins, Pixera passes all this information to VIOSO 6, which maps this topology in the Project Designer.
In VIOSO 6, the user only needs to select the camera and surface geometry. The calibration process then proceeds step by step through a clear, guided assistant. All master-client relationships are managed in the background, providing a relatively simple user experience.
In the following walkthrough we consider a typical setting consisting of 4 projectors on two clients, run from a dedicated Pixera Director:
Make sure the camera is ready to be used for calibration. Read here how to get this done: Camera
Launch Presence on all clients and Pixera on the Director PC. In Tab Mapping, make sure all clients are connected and started.
In Pixera, start by creating the Screen. Important: Set Selective Target Rendering to "Texture per Screen", otherwise the quality of the calibrated result looks bad in Pixera.
Then continue to map all projectors in to the screen (Tab Mapping). Do only a very basic projector to screen mapping (for previz) as everything is replaced by the calibration.
Add all clients and connect the projectors to the outputs of each PC in the Mapping
/ Live
section.
Hit F5 to display the testpattern on all projectors.
Now, if all projectors show part of the testpattern as expected you are good to launch the calibration.
If not - fix everything before continuing, as a sober Pixera show is the foundation for the calibration.
If this is the first time Pixera 2 that VIOSO Calibrator is used on this machines and network, please double check that the VIOSO Calibrator can be reached by network:
In Pixera, go to Settings / Calibration
and click Launch Calibrator on all Services
On the Director and all Clients the VIOSO Calibrator should launch. On each instance or VIOSO Calibrator, go to Menu - Options - Multi Client
and check the box Enable
, then select the network interface (local IP) to connect with the other clients:
All VIOSO Calibrators must be within the same network, e.g. 192.168.1.xxx
, where xxx
ist different for each instance.
Close VIOSO Calibrator on each PC.
Once all network settings are done, it's time to launch the calibration. In this guide we concentrate on the project based workflow.
Parameters to set:
Calibrator Mode: set to Project
Project File of Directory: click on the file box and select a folder where the project structure is created. We recommend an easy memorable path, e.g. D:\Calib\MyProject\
Note: In project mode, a directory (not a single file) is specified.
After that, click Launch New Calibration
.
VIOSO Calibrator now is launched on all Clients in client mode (reduced interaction level) and in full mode on the Director PC.
After launch the Project Designer shows up, preconfigured with the settings made in Pixera:
All computers and projectors that are specified and connected in Pixera (Mapping / Live) should show up. Double check that this is the case.
VIOSO Calibrator ingests as much information from Pixera as possible: Names of devices and it's connections.
You are able to alter everything, but consider that this will create a calibration for a different hardware lineup. Consider instead to do changes in Pixera and restart the calibration afterwards.
Now it's time to select the camera used for calibrating this screen. Locate the Director node and you will see a generic camera already attached.
Click this camera node and do the appropriate settings:
Camera: Select the camera model from the Dropdown (appropriate installation required)
Width & Height: Specify the resolution of the camera feed
Lens type: Select Perspective Lens for anything that is not Fisheye
FoV (°): Enter the horizontal field of view of the camera in degrees
The Image Ratio is computed automatically from Width & Height.
If you know the camera position (pose & rotation) you can enter here as well. It will be relevant for 3D based calibrations at a later step. Otherwise keep 0.
The surface node specifies whether a simplified 2D approach or a more complex 3D mode is used for the calibration.
Choose the appropriate mode from the drop down box Surface Profile. Learn more about the 3D settings here: Projection surface
Make sure that all projectors and the camera is connected to the surface before continuing. Otherwise the calibration won't start until all connections are made properly.
This node contains all parametes that define format, name and location for the data exchange with Pixera.
Most of the parameters are pre-defined, so there is only little to put attention on:
Export Destination:
Path: Specify the local path on the Director PC, where the exported VWF files are stored. Per default, it's the folder /Export
within the current project path.
File name definition: Specifies the name of the exported VWF files in the format Filename_$ip$
. You can change Filename
, but do not remove the trailing _$ip$
as this adds the IP for each participating client, which is expected by Pixera.
Keep all other settings unchanged.
After that, the preparation and thus a working design is finished. Click Finish
to close the designer and return to the Calibrator's main user interface.
The button "Calibration" is now active, which you can click to cotinue.
Now the calibration procedure is going to happen. Click on the button Calibrate
to initialize the calibration assistant:
The first step is prefilled based on the project design and acts as an initial control instance:
Click Next and all devices are activated: Projectors on all clients and the camera.
Make your way through the calibration until all projectors are scanned. Learn more about this process here: Scanning
If a 3D surface is specified in the design, the 3D alignment tool will be available. Proceed aligning the camera to the surface by pressing this button:
Learn more about this procedure here: 3D Mapping
After making all appropriate tweaks and adjustments, press finish to conclude this step.
You have to complete this step to unlock the next step of the calibration sequence.
This step is about to warp the result (in a 2D way), adjust the blending, add masks and work on blacklevel uplift.
Learn more about this here: Blending & Global Adjustments
After completing this step, the final step - Export - is unlocked.
With this final step, VIOSO Calibrator creates the data set, that is exported to Pixera.
At this step, all required settings are a made already (in Design and by performing a calibration), so that a click on this button runs an automated sequence without the need of any further interaction:
After that, you can double check if files are written (or replaced) based on the settings done in the Designer (Export Path and Filename). The exported VWF-files are stored on the Director at the location defined in the Project Designer
After exporting, VIOSO Calibrator has done the job and you can return to Pixera. Close VIOSO Calibrator by clicking on the top left Close button:
Pixera will now:
Distribute the calibrations across all participating PCs
Apply warp&blend (replacing any manually made warps&blends)
Return to fullscreen rendering, if the calibration was initiated during fullscreen rendering
The result of the calibration is applied to the outputs therefore fully automatic. You can see the currently used calibrations (VWF files) in the Screen inspector:
Pixera applies the calibration files listed in Loaded Calibrations. Deleting these files from the list unsets the calibration (the file are not deleted from disk) . You can then load the files again and apply by clicking Distribute Loaded Calibration
.
Feathering softens the edges around the outline of the total calibrated image, which might look a bit crooked if there is heavy pixelmapping applied. Use the values to configure the size of the softening (inside and outside) as well as the checkboxes to apply on either or both borders.
Once a calibration has been completed, it is easy to get into an Editing mode it from within Pixera. Go to the Screen whose calibration you want to edit and click Edit Current Calibration
.
Pixera will now stop the render output and launch VIOSO Calibrator on all PCs.
Close the Calibrator, return to Pixera
Pixera will now automatically distribute the updated VWF files, apply them and launch the render engine at the state before editing.
A fully automated recalibration performs a new scan of all projectors using parameters and configurations from the previous calibraion. It will re-arrange projector pixels and recalculate the blending to create the same result of the initial calibration.
If everything is up and running, an auto-recalibration can be triggered within Pixera by clicking Auto Re-Calibration
.
Pixera will now:
Stop the render engine output and launch VIOSO Calibrator.
Run a complete scan of all projectors without any interaction.
Perform all conversions (including 3D to 2D), warpings, masks and other calibration tweaks.
Export, distribute and apply to all clients
Return to Pixera, bring the render output to fullscreen and continue the show playback.
The Free Mode of VIOSO 6 offers the user guidance familiar from the previous versions of the built-in VIOSO Calibrator. It is suitable for quick calibrations of less complex scenarios, especially single-client setups. Furthermore, particularly specialised workflows and operations can be carried out in Free Mode, e.g. using your own scripts, conversions and the like.
Free mode is primarily intended for experienced users and for users who wish to retain the user guidance of the previous version.
In the following, we will look at a fairly simple scenario consisting of a single media server, two projectors and one camera, for which the free mode is quite suitable.
Make sure the camera is ready to be used for calibration. Read here how to get this done: Camera
In Pixera, start by creating the Screen. Important: Set Selective Target Rendering to "Texture per Screen", otherwise the quality of the calibrated result looks bad in Pixera.
Then continue to map all projectors in to the screen (Tab Mapping). Do only a very basic projector to screen mapping (for previz) as everything is replaced by the calibration.
Assign all outputs in the Mapping
/ Live
section.
Hit F5 to display the testpattern on all projectors.
Now, if all projectors show part of the testpattern as expected you are good to launch the calibration.
If not - fix everything before continuing, as a sober Pixera show is the foundation for the calibration.
Parameters to set:
Calibrator Mode: set to Free
After that, click Launch New Calibration
.
VIOSO Calibrator now is launched and presents itself in the Fee Mode:
Free mode means that the calibrator behaves as if it had started normally without Pixera. This means that there is no parameter transfer from Pixera. The operator now has to take care of these things himself:
Selection of the projectors
If necessary, integration of several clients (via abstract displays)
If necessary, MRD handling and conversions
Saving SPS
Exporting VWF
Loading and assigning VWF, SPS and recalibration script in Pixera (first run only)
This freedom enables all kinds of user-defined procedures, but naturally a certain degree of convenience is lost compared to project mode.
In this walkthrough we concentrate on the calibration on one local system. Operating on networked systems (director, multiple clients, etc.) is doable as well - it requires to configure so called "Abstract Displays" for the Pixera-integrated VIOSO 6 software.
Click on the button Calibrate to initialize the calibration assistant:
In this dialog, the hardware devices for the calibration is determined:
Select projectors
Click to mark all displays that are projectors and should be part of this calibration. Use the button display split...
to split outputs into multiple outputs, e.g. if a displays are combined via NVIDIA Mosaic or display expanders like Datapath FX4 are used.
Select scanning method Choose the scanning/extrapolation method. Flat screen, curved sceen/dome and any surface will require a camera.
Select camera: All available and properly configured DirectShow devices as well as NDI streams will be listed here. Select the device to be used for scanning.
Click Next and all devices are activated.
Make your way through the calibration until all projectors are scanned. Learn more about this process here: Scanning.
After completing the scan VIOSO Calibrator will prompt to save the calibration file (*.sps):
Choose a folder and filename on the local system that you will find later again, e.g. D:\Calib\MyFirstScan.sps.
This step is about to warp the result (in a 2D way), adjust the blending, add masks and work on blacklevel uplift.
Click Activate to get the projectors outputting a testfile with the result of the calibration applied. Your next steps are doing the appropriate warping, tweaking of colors, blending and occassionally working on masks.
Learn more about this here: Blending & Global Adjustments
Learn about warping here: 2D Warp
Learn about projector masks here: Projector masking
Once you are satisfied with the calibration results, it's time to create the warp&blend files for Pixera. This is a single file per PC with the file ending *.VWF.
The export is intitiated by Menu - File - Export Mapping (CTRL+E)
Settings to take care of:
Have the the calibration selected, that is exported (should be preselected already).
Make sure, that VWF format is selected (should be preselected as well)
Choose path and filename to write on the loca disk, e.g. D:/Calib/PixeraExport.vwf
To enable a 1-click recalibration, an appropriate script is required. Such script is generated in the Export dialog:
Click the button Recalib Script
(4).
Select the path and filename of the recalibration script. We recommend to keep the preselected path and filename, as it will be referenced by Pixera in this way.
Select the matching SPS file (the file that is currently used by VIOSO Calibrator) - should be preselected already
Check Close application
and With Export
Click Create
to write the Recalib script to the local disk. The Recalibration Script helper closes automatically.
Finally, you can initiate the Export by clicking export
:
After exporting, VIOSO Calibrator has done the job and you can return to Pixera. Close VIOSO Calibrator by clicking on the top left Close button:
Pixera will now:
Add the *.sps calibration file, the *.vwf warp&blend file and the recalibration script to Pixera.
Apply warp&blend (replacing any manually made warps&blends)
Return to fullscreen rendering, if the calibration was initiated during fullscreen rendering
The result of the calibration is applied to the Inspector:
To apply the calibration to the render engine, click Distribute Loaded Calibrations
.
Pixera applies the calibration files listed in Loaded Calibrations. Deleting these files from the list unsets the calibration (the file are not deleted from disk) . You can then load the files again and apply by clicking Distribute Loaded Calibration
.
Feathering softens the edges around the outline of the total calibrated image, which might look a bit crooked if there is heavy pixelmapping applied. Use the values to configure the size of the softening (inside and outside) as well as the checkboxes to apply on either or both borders.
Once a calibration has been completed, it is easy to get into an Editing mode it from within Pixera. Go to the Screen whose calibration you want to edit and click Edit Current Calibration
.
Pixera will now stop the render output and launch VIOSO Calibrator with the referenced Calibration file (*.sps) loaded.
You can now perform all editing actions, including a new calibration scan.
Do not forget to save the calibration: Menu - File - Save Calibration (CTRL+S)
.
Click Export, make sure the prevously made settings are still there and click export
to update the VWF files.
Close the Calibrator, return to Pixera
Pixera will now automatically apply the updated VWF files and launch the render engine at the state before editing.
A fully automated recalibration performs a new scan of all projectors using parameters and configurations from the previous calibraion. It will re-arrange projector pixels and recalculate the blending to create the same result of the initial calibration.
Make sure that a Recalibration script has been created at the previous Export step.
If everything is up and running, an auto-recalibration can be triggered within Pixera by clicking Auto Re-Calibration
.
Pixera will now:
Stop the render engine output and launch VIOSO Calibrator.
Calibrator runs a complete scan of all projectors without any interaction.
Calibrator performs all warpings, masks and other calibration tweaks.
Calibrator saves everything and performs the Export
Calibrator closes and returns to Pixera where the new calibrations are now in use.
Typically, there nothing else to do. If in doubt, initiate Distribute Loaded Calibrations
to update everything on the render engine.
It's possible to adapt this workflow to run calibrations on multiple clients:
Access all PCs running Presence and launch VIOSO 6 in client mode => Learn more here: First Init & Autostart => Make sure to configure the network for all clients in the same way: Network settings in VIOSO 6
Configure Abstract displays for each PC and projector: Multiclient Configuration (Abstract Displays)
Run the calibration as described above: 2.1. Calibration and 2.2. Editing
Export the calibration as described here: 2.3. Export
The freemode is prepared as usual, a possible split has to be set up, the projector outputs used have to be selected, a camera has to be selected, the mode of operation has to be selected and further parameters can be adjusted.
Learn more about the configuration of VIOSO 6 in free mode: Free Mode
As soon as the calibration is started, the calibration process is identical to the project mode, which is elaborated below.
In order to be able to use the result of a calibration in Watchout, it is necessary to set the export accordingly.
If you choose the Watchout Preset, the most things are preset accordingly to the needs of watchout.
The following is important for the export:
Watchout 6 is only able to use MPCDI V1 files.
You need to export a virtual content rectangle. Thats the complete screen as result of the calibration. Otherwise Watchout will create an infinite sized screen that will crash the Software.
Another big role is played by the number of columns and rows used to create the MPCDI file. Simple screens can be created with a quarter of the resolution; if the surface becomes more complex, the values have to be corrected upwards. The resolution represents the maximum value, more rows and columns are technically not better, or a value that is too high can impair the performance of the media server.
Another challenge is the MPCDI format in the edges. Since the measurement results tend to fray at the edges, it helps to make the warp a little larger and to mask the edges. The masks are then also exported and displayed correctly.
Once the MPCDI file is created, it can be imported into Watchout. A corresponding screen is created in Watchout and the warps, blends and masks for the screen are saved.
The export parameters can be adjusted in the Designer by selecting the export node:
Click on the node to activate the inspector providing the export parameters:
Export Definition The preset for watchout is fixed, no changes can be made here.
Virtual Content Mapping Parameter Virtual content rectangle - is the outline of your calibrationresult. If cheched it's exported as required in Watchout. Width and Height - Here you can enter the resolution of the content you are expecting. If you leave 0 - 0 the calibrated pixelspace will be used.
Special Mapping Parameter Checkbox - exports in case the used 3D model
Export Destination Path - Enter an individual export path File Name Definition - Enter an individual file name Transfer all - Transfers all files to export destination create Backup - creates a Backup of the export in the VIOSO folder
Transfer to remote machine Ability to transfer the calibration automatically to clients if needed
Display Split Parameter Keep Splits - should be unchecked if you use a Mosaik setup
Grid Parameter Rows and Columns - The Mesh thats used to create the MPCDI file
Exclude Parameter check to exclude parameters from export
Note Link to the Helpdeskpage
Calibrate the Screen as needed. Learn more here: Calibration
When exporting MPCDI files, the edges may be jagged. In order to master this phenomenon, you should always warp a little larger. A few pixels are enough. If you now set output masks at the edge, these are exported separately and then displayed correctly.
Learn more about masking here: Projector masking
Export the calibration as set in the designer (project mode) or configure manually (free mode). Imperative values for Watchout are:
MPCDIv1
check virtual "content rectangle"
change the amount of columns and rows to get a good result
Open your show or create a new show
Import a MPCDI File using the File menu:
Choose a File, a tier to import to and an offset. The offset is needed if you use more than one screen in your project.
Only MPCDI files of version 1 are accepted
The Stage shows the imported Screen. The blends and masks are imported to the media area
Enter the IP adress and outputchannel and the correct resolution of the Output. If you want to use more than one screen, enter the stage position to your needs, to prevent an overlap of different screens.
Now the screen is prepared and ready for content placement.
Christie Pandoras Box is a comprehensive software solution for real-time video processing and show control applications. It offers advanced features for creating interactive multimedia experiences.
DirectX .x-Files Support: The Pandoras Box supports the importing of DirectX .x-files, which are created by VIOSO 6.
Blendmaps Import: Blendmaps exported by VIOSO 6 can be imported into Pandoras Box, allowing seamless integration of complex projection setups.
The following video demonstrates the process of calibration and importing DirectX .x-files and blendmaps into Christie Pandoras Box:
As Pandoras Box evolves on its own pace, there might be issues when working with such external warp and blend files. If you run into issues, please check these measures:
There might be an issue with the format of the warp mesh. VIOSO 6 uses a triangulation, that Pandoras Box might not be able to process.
Global Setting for all exports To set VIOSO 6 back to the old triangulation for any kind of export (caution!), you can make a change in the VIOSO 6 program settings:
Open C:\Program Files\VIOSO6\SPeASY.ini
Seach the Parameter bUseNewTriangulation
and set to "0"
Restart VIOSO6 and run the Export again
Delta Server by 7th Sense
The Delta Server from 7th Sense is a powerful media server designed for high-quality video playback and visual experiences. It supports the processing of MPCDI (Multiple Projection Common Data Interchange) files. These files are commonly used in the projection and display industry to ensure geometric and color calibration across multi-projector setups.
Delta Server is compatible with MPCDI files exported by VIOSO 6.
Some BrightSign players have the capability to process MPCDI files, which are used for matching 3D models with their projected displays, ensuring accurate and seamless visual effects.
Derivative TouchDesigner is a powerful visual development platform designed for creating real-time interactive multimedia content. It supports the processing of VIOSO's warp & blend files natively, allowing seamless integration of immersive display configurations.
This capability is facilitated through the Vioso TOP, which enables the use of VIOSO's calibration and warping data directly within TouchDesigner, enhancing the visual display and projection mapping workflows.
Vertex is the next-generation mediaserver from IOVERSAL, which comes in a special edition “VERTEX VIOSO” as well. It comes with a fully integrated auto-alignment and auto-blend solution, that is based on VIOSO’s technology.
Vertex VIOSO comes with VIOSO technology integrated, which is based on VIOSO 6.0. It's indended for demos and first practise.
In addition, current versions of VIOSO 6 as well as projectiontools can be used to export warping&blending to Vertex, enabling all kinds of complex projection scenarios.
VIOSO modules in comparison:
Alignment on flat & curved screens, domes and arbitrary surfaces Auto-alignment Auto-Blending Auto-Realignment Single Camera Multiple Clients
yes
yes
yes
Alignment and Mapping using 3D models (UV Mapping)
no
yes
yes
Multi Camera
no
no
yes
Marker based projection mapping
no
no
yes
We start by creating a new project. Vertex adds a canvas and two outputs matching to the display configuration as it is seen by Windows. We start tagging the operator’s monitor as UI output in Vertex:
After that, remove all surfaces, since they are referring to the display resolution of the UI monitor. Right-click and select “Delete”:
We have now an empty Canvas. The initial resolution also does not fit, so we should to the expected output resolution. However, this step is optional, since after the calibration, all pixels are re-fitted automatically.
Now it’s time to bring back the surfaces. We need one surface per projector. In a Mosaic-setting like this, the easiest way is to add the Display Surface according to the Mosaic topology. Right-click on the Output that represents the Mosaic group and choose Add Display Surface – Horizontal Split
:
After creation of two surfaces, simply drag & drop both surfaces on the canvas. There is no need to take special care about the surface placement and orientation – such values are set automatically once the calibration is done:
Use a 1×1 display configuration and enter the approx. effective content resolution
that have been reported in the calibration before:
Download/Save and import the testpattern to Vertex and place it on the canvas:
Use the Scale to Fit
feature, available on right-clicking on the clip in the timeline to make the testpattern fit exactly to the dimensions of the canvas. This is important for editing the calibration:
With this action, the configuration of the Vertex project is done and ready to save before proceeding with a calibration.
The built-in calibration was made with the intention to faciliate handling multiple projectors as much as possible. However, there are situations where more detailled interaction with the calibration tool and more features and parameters are required.
Start VIOSO 6 in Free Mode and go through a complete calibration procedure.
Once calibration is done and you have a compound to export, go to File
/ Export Mapping
:
Select the compound you want to export
Choose VWF file
as export format
Tick the Keep splits
checkbox (Important!)
Give a name to your file and select the folder where you want to save it
Back to Vertex, load your calibration file by choosing Import file
after a right click on Content
:
Make sure that you have set Vertex in Advanced mode
in order to have access to surfaces Warp&Blend files settings:
You can see now in your explorer a VIOSO calibration files with separated Warp Files and Blend Files :
You will need now to apply these files to your surfaces:
Select Surfaces
in the explorer
Select Surface1
Select Video
in the inspector
Find the areas where you should drag and drop Warp&Blend files
Drag and drop your Warp & Blend files in dedicated areas from the inspector, it will look like this once done:
You can doublecheck that your warp and blend files are correctly applied by switching the view in the render editor from Canvas
to System
:
Final step is to rescale the warp file to the canvas in order to relocate correctly your surface on the canvas. To do so right click on a Surface with VIOSO Warp&Blend files applied and select Rescale VIOSO Warp file to canvas
:
Repeat these steps for all your surfaces and now, your VIOSO Calibration is applied to your project and you can playback full screen your content!
In this introductionary guide, we use a most simple but yet telling setup: A single PC which has two projectors connected and configured as Mosaic, and an additional operator’s monitor where the Vertex UI runs on. Windows therefore detects two displays, and so does Vertex at startup, whereas NVIDIA Mosaic settings reveal that the secondary display is splitted in two projection displays:
Vertex comes with an integrated autoalignment module, so most configurations and settings are done on-the-fly. Please check that the camera you are using is supported and properly configured. Learn here more about this topic: Camera
The calibration procedure is initiated by accessing Tools
– Vioso Calibration
. A calibration is based on the Canvas, so in case of multiple screens, multiple calibrations can be handled. After launching the AutoCal module, it displays the calibration configuration dialog, where the displays to calibrate are already selected. Don’t make any change on that:
For an exhaustive explanation of the calibration parameters as well as how to handle the camera, masking and extrapolation, please refer to the documentation of the scanning procedure: Scanning
Within Vertex, the calibration workflow is exactly the same:
After scanning both projectors, the overlap and blend is calculated automatically. The final step of the calibration then is a manual warping of content to screen. At this point, there is no way to change the testpattern, so make just a very rough warp. Finetuning of this alignment is done in a later step.
After the alignment is done, check the resulting pixel space. Based on the overlap and the current warp, the AutoCal module calculates the effective visible pixel space of the content, that is acually displayed on the projectors, and also gives an estimation of the ideal aspect ratio the content should have. To access this analysis, click the button ext. content info
:
It is advised to note these values (“approx. effective content resolution” and “aprox. content aspect ratio”) and double check against a suitable testing pattern or customer content. We show this in a later step.
To finalize the calibration, return to the calibration dialog and click Save & Finish
. The calibration is saved and transferred to Vertex, where now the positions and view ports for each display surface is updated accordingly.
Vertex now should display the aligned, blended and warped output on the projectors.
This chapter covers the features to edit the result, optimize warping and blending as well as realign projectors with a single click.
There are numerous means to finetune and optimize the calibrated result. For this, AutoCal is launched again from within Vertex in the Edit mode
:
Launched this way, AutoCal provides much more features compared to what is exposed during the calibration procedure. AutoCal always starts with a built-in testing pattern, but you might need different contents to estimate e.g. the mapping preciseness or optimize the blending. To change the displayed image, click the button Load Image
and choose appropriate content from the local drive. Most usual image formats are supported:
Now it is time to optimize the result. Learn more here:
Editing of color and blending: Blending & Global Adjustments
Handling the warping tool: 2D Warp
Blending quality considerations: Projectors
Once the result is fine-tuned, return to Vertex clicking the Stop
-Button. All work again is saved and transferred to Vertex:
The output on the projectors might not be adjusted immediately. In this case, click Re-Apply Calibration
:
Vertex AutoCal can do a 100% automated realignment of projectors. The precondition is, that the camera does not move at all or change or loose it’s settings since the initial installation. Therefore we strongly recommend to go with professional computer vision cameras or otherwise automatable and managable cameras. Contact us in case of any question regarding camera selection.
Once an initial calibration is done and assuming the camera is configured appropriate and has not moved, all it takes is to launch the recalibration procedure from the Vioso Calibration Editor:
The recalibration immediately launches the scanning procedure that runs through all projectors. Once done, the result is computed, transferred to Vertex and instantly applied.
If for some reason the result is not satisfying, the previous calibration can be loaded by clicking Roll Back
.
Depending on the resolution of the content and the outputs, unsightly artefacts may occur after applying the calibration.
In this case, Texture Smoothing must be activated for each content (images, videos, live input, etc.). Select the content in the project explorer, then change to the Settings Tab
in the Inspector and activate the Texture Smoothing
checkbox.
Multiple projected walls, floor, ceiling - using standard cameras (not fisheye)
Immersive rooms utilize multiple projectors to create an engaging and enveloping environment. These projectors work in unison to display high-resolution, panoramic visuals across the walls, floor, and sometimes the ceiling of a room.
By carefully calibrating and aligning the projections, the experience is seamless, making users feel as though they are part of the scene. These setups are commonly used in simulations, virtual reality experiences, educational environments, and artistic installations, offering an unparalleled level of immersion.
As usual when dealing with autoalignment, a proper projector lineup and projector configuration is the key for best image quality as well as for a precise alignment and robust recalibration.
Projectors:
Make sure, all projectors are mounted properly, creating an overall sharp and focussed image
When using ultra-shortthrow projectors, do not tilt them, as the loss of focus and brightness cannot be compensated properly!
To increase the blending quality, make sure the overlaps are covering from bottom to ceiling
Camera:
Typical immersive rooms consists of several walls, eventually using the floor and ceiling as projection surfaces as well.
In this tutorial we cover the usage of standard cameras or manual calibrations.
Calibration can be done
with one mobile camera, that changes it's position
entirely manual setup (no camera)
1 camera per wall => this enables fully automated recalibrations
Based on the content, the configration of the GPU must made accordingly. For any case (including video playback) we encourage the use of NVIDIA Mosaic as it ensures a perfect synchronized, tearing-free result and provides a massive performance-boost for any other application running on top of it.
For using NVIDIA Mosaic all projectors must have the same resolution, framerate and orientation.
When embedding warping & blending using NVIDIA Mosaic, it is of utmost importance to replicate the physical topology of the projectors within the topology of the NVIDIA Mosaic:
Projector cabling to the GPU must follow their physical lineup (left projector => GPU output 1, next projector => GPU output 2 and so on)
Match orientation: Portrait mode mounted projectors must have portrait mode in NVIDIA
Video Content:
When playing back video, consider the requirements of the playback application. Typically, content for the walls and floor/ceiling is available separately.
The simplest procedure is to have each projector recognised as a separate display in Windows. The more projectors that are connected to a computer (especially with multi-GPU configurations), the more likely it is that performance problems will occur in this case.
It can therefore be useful to use NVIDIA Mosaic or similar procedures to increase performance. Exaplay is particularly flexible: here, all projectors can be combined into a single Mosaic and are automatically assigned correctly in Exaplay based on the VIOSO calibration.
Desktop Hooking on NVIDIA GPUs:
To ebmed warp&blen in the Windows Desktop, an NVIDIA Mosaic configuration is required. You need to set up one mosaic that contains all projectors.
It is important to know the content before you design the calibration procedure. Consider some generic approaches:
This configuration consists of 2 or more walls (typically up to 4), and one content that is displayed across all walls. Content can be a video or the Windows Desktop, that is warped & blended uing NVIDIA Quadro GPUs features.
As reference content, use 1 frame of the content (when delivered as video)
If the content is to be mapped precisely to the edges between the walls, the reference content must show the boundaries of the walls using lines or other indicators
If no content is avaliable, create a testpattern per wall, that matches the aspect ratio of each wall.
Resulting calibration strategy:
Several calibrations (one per wall)
At export, calibrations are stitched together into a single file
This configuration consists of 2 or more walls (typically up to 4) and projection on the floor and/or eventually the ceiling. This leads typically to at least two different contents: One content for the walls and a different content for floor (and ceiling).
For the walls mostly one content is provided. Let's call it "the view on the walls".
For the floor/ceiling, another content is provided, the "view on the floor/ceiling".
Both views must fit together - in terms of resolution and scaling, so that you can use these contents to align walls, floor and ceiling.
Resulting calibration strategy:
Several calibrations (one per wall and floor and ceiling)
At export
Calibrations for the walls are stitched together into a single file
Calibrations for floor and ceiling are exported separately from the walls
At playback
One content on all the walls
Another content on floor and ceiling
In these kinds of immersive rooms we consider to calibrate either with a single camera which changes position several times. Instead of using a camera, also a manual approach is possible. In both of these cases, recalibration requires an operator onsite who can carry out all subsequent steps.
For a fully automated, recalibratable installation, a dedicated camera must be installed for each wall (in this example we need 3 cameras thereof). Please note, that webcams do not work, as muliple webcams on a single PC cannot be addressed properly. The use of computer vision cameras therefore is a must.
In this chapter we cover the handling of typical immersive rooms using the free mode. With VIOSO 6.1. we added features to faciliate the handling of such setup with various new features.
This guide covers the operation in "Fee Mode", so switch to free mode if not done already:
In this example, we look at a setup of a room with 4x5m floor and 2 walls at a height of 2m. Each wall as well as the floor is covered by 2 projectors. In our example we assume that each projector has a resolution of 1920 x 1200 pixels (WUXGA), thus resulting in a 16:10 aspect ratio.
To ease such kind of setups, VIOSO 6 provides "channels", where each channel represents a calibration. In this case, you need at least 3 channels to display all calibrations. To set the number of available channels, go to Menu - Options - Settings - Startup options
and set the number of channels appropriate (requires restart of VIOSO 6):
The scanning procedure is performed three times: one calibration per wall. Depending on the camera strategy, either one camera is used and changed in place (no recalib), or each wall has a dedicated camera assigned.
In the following example we assume that all projectors are combined into a single NVIDIA Mosaic group, where all 6 projectors are assigned to walls & floor like this:
To match this Mosaic setting, make sure to split the Mosaic display in VIOSO 6 according to the same topology (Menu "Options" - "Screen Split"):
After that, click "Calibrate" and select the projectors and camera from the list. You can choose "man
Select the projectors and camera from the list:
You can choose "manual setup" and not selecting a camera instead.
As a result, we have a new calibration called "Left Wall" in the list of the targets. To have this result displayed, select channel 1 and "Left wall" as target and click "Activate". The VIOSO testpattern should show up, filling the left wall completely:
You can now fine-tune the result (e.g. match the corners) based on the integrated testpattern or a custom testpattern that you place in the Player of VIOSO 6. There is a dedicated playlist for each channel.
After completing everything, save this result in an *.SPS file.
If you are using a temporary placed camera, now it's time to put the camera on it's new position. Make sure, that the connection is not lost to the computer, otherwise you might need to restart VIOSO 6 to recognize the camera again.
Click "Calibrate" again and select the projectors that are covering the right wall.
After doing the appropriate calibration for this wall, save the calibration (overwrite the existing file) and set up a second channel to be displayed like this:
Do all required measures to optimize this result and save again, overwriting the existing *.SPS file.
The last calibration in this example is dedicated to the floor projection. It can be also camera based, but often floors are handled manually since mounting cameras can be an issue.
After doing the appropriate calibration for this wall, save the calibration (overwrite the existing file) and set up a third channel to be displayed like this:
As a result, you now have all calibrations displayed. By changing through the channels, you can easily make adjustments to the overall warping, blending etc.
The mapping of the content is a sometimes underestimated task. As long as all walls are symmetric to each other, the content is equally distributed, which is pretty straight forward.
In our example we have walls with different dimensions and also two contents. Wall content and floor content.
First, we should determine the pixel space of each content based on the room measures. We know the image height (2m) and the corresponding pixels (1200, as all projectors are WUXGA), which leaves the width of each content in question. We can easily calculate the pixel width of each content by using width/height relation based on the 1200 pixel projector image height:
"Walls" (in this example 8640x1200px) => Walls_8640x1200.png
"Floor" (in this example 2160x1728px) => Floor_2160x1728.png
In our example we have 3 calibrations and 2 contents. This is how the content is therefore mapped.
As we have a 1:1 mapping of the floor content (remember: we assume to get the content for the entire floor as a dedicated video), all we need to do is to load the floor content in the playlist of VIOSO 6. Therefore, we choose the appropriate channel 3 and open it's playlist:
We now should see the floor covered with the testpattern. If the measures are correct and assuming that the warping was done precisely, the pattern should be matching the floor measures, resulting in proper squares and circles:
The walls are represented as 2 calibrations, but there is only one content to map. To make matters worse, the walls aren't the same width, so we need to make the content mapping aware of which part is being displayed.
For this reason, we have carried out the above calculation and can now apply the calculated values to the content mapping following these steps:
Change to Channel 2 (Right Wall) and assign the "Wall" testpattern we just created:
Change to Channel 1 (Left Wall) and assign the same "Wall" testpattern we just created:
Open Menu - Calibration - Content Mapping
and enter the values as follows:
Content width: Enter the dimensions of the content as played back
Select "Left Wall" (first compound):
Select "Right Wall" (second compound):
Click "Apply" and close to save this mapping
Once these values have been applied, we obtain a uniform and linear content display. In this example in particular, it becomes clear that content mapping of this kind is essential for correct display due to the uneven wall widths.
All channels should now be active and produce a representative output on all projectors. This is a situation in which excellent fine-tuning can now be carried out:
Switch through the channels and adjust the warping of each calibration successively so that the content transitions between walls, floor, ceiling etc. fit exactly.
You can also edit the calibration properties such as blending, colour settings etc. in this mode.
Use the option of using a list of different test images for each calibration. This allows you to try out different content scenarios and adjust the parameters accordingly.
When everything is completed to your satisfaction, save the work again as a *.sps file.
How to proceed after the calibration is done depends on the use case and content to display. We look at two typical scenarios:
Playing back video content In the following we explain how to export to Exaplay 2 to run several videos (walls & floor) matching the calibration. This workflow is very similar to other players or media servers supporting VWF-processing
Applying to a NVIDIA GPU Professional NVIDIA graphics cards ("Quadro") support processing of warp, blend and overlap generation. Using this feature, the windows desktop is mapped onto the immersive room. Typically, custom made applications (e.g. with Unity3D) are then launched to take over the whole content rendering process.
We use the export to Exaplay as an example how to treat the exports of multiple compounds.
The workflow to export that is shown here is also applicable to other 3rd party media servers like Pixera or Vertex (might be slightly different, depending on the individual configuration of each show).
We need to do 2 exports: one for the floor and one for the walls, where all calibrations for the walls are combined into one export file.
Use when one calibration matches exactly one content:
Choose 1 calibration only
Check "keep splits"
Provide a descriptive name (will be used without change)
Export to [USER]/Documents/Exaplay2/targets
As a result, we get the file "ImmersiveRoom Floor.vwf"
created in Exaplay's target directory.
Use when several calibrations are assigned to one content.
Multi-Select all calibrations that are mapped to one content
Check "keep splits"
Check "collected export (all in one)"
Provide a descriptive name (will be used without change)
Export to [USER]/Documents/Exaplay2/targets
As a result, we get the file "ImmersiveRoom Walls.vwf"
created in Exaplay's target directory.
Launch Exaplay and start a fresh project.
In Targets/System set the same split on the detected output as you did for the calibration (see above).
Create two screens: "Walls" and "Floor". We recommend to give the appropriate screenfiles a telling name as well (screenfield "Walls" and screenfield "Floor").
According to our example, make the screen using the first 4 slices of the Mosaic group.
Assign the calibration "Immersive Walls.vwf":
According to our example, make the screen using the last 2 slices of the Mosaic group.
Assign the calibration "Immersive Floor.vwf":
After creating the screens and assigning the calibration, the show is ready for playback. Create either a timeline where each content is placed on a track or using two cuelists.
Make sure to have one track or cuelist outputting the content dedicated for the walls on screeenfield "Wall" and another track or cuelist outputting on screenfield "Floor".
Instead of exporting the calibration to Exaplay or 3rd party software, the calibration can be applied to the Windows Desktop, if everything happens on one local device.
Make sure that all calibration-specific tasks are done, everything is fine tuned and ready to be used in production. After that, switch to "NV Warp" mode:
Confirm both popup dialogs (overwriting the existing calibration) to continue with the Desktop embedding.
VIOSO6 provides a very neat way to align panoramic projections on curved screens up to 360° using a single fisheye calibration kit. This article describes such procedure based on VIOSO 6 calibration, using the 3D mapping project mode.
This approach is suitable for contents that wrap around the screen/cylinder in an observer-fee manner (“like a canvas”) and therefore is useful for media servers, video players, GPU hooking (Windows desktop) and similar applications.
For rendering content based on realtime rendering 3D engines (simulators, etc.) the approach differs. Please consult our simulation team for more information about this kind of calibrations. This approach assumes that the screen geometry is cylindrical, which means that it has one radius and even height. For more complex screen geometries like cones, elliptical screens, etc. you need to create a custom 3D model including a proper UV map (even pixel distribution) that matches precisely the physical screen geometry.
As usual when dealing with autoalignment, a proper projector lineup and projector configuration is the key for best image quality as well as for a precise alignment and robust recalibration.
Avoid using ultra-short throw projectors or ultra-short throw lenses when projecting on curved screens. The distortion caused by such projectors as well as the defocus will degrade very noticeably both image quality itself (pixel size, focus, color representation) and ability to calibrate.
Make sure the projector images covers the screen completely from top to bottom
Avoid tiling projectors, make use of lens-shift instead.
Portrait mounted projectors are a good way to meet high resolution demands on large panoramic screens.
Choose our high resolution camera kit (CK_FDQ). Due to the peripherical scanning the high resolution sensor matters.
Make sure to mount the camera in the very center of the panoramic screen, either on the ceiling (ideal for fixed installations) or on the floor (for temporary camera placement).
Having something obstructing the camera view on the projection like scaffolding, handrails, the projectors itself etc. adds another challenge, so try to avoid.
By no means something must block the view on the overlaps.
Having control on the general lighting conditions is mandatory. Consider to execute the calibration only in pitch black condition (no ambient light) for robust results.
You cannot warp the calibrated result in a 2D way, so all image adjustments must be made in the 3D alignment. Make sure to have the proper experience dealing with this constraint before executing the calibration onsite.
The stitching line of the content must NOT happen in a projector overlap since it will create a small visible like. Please consider this when planning the projector layout.
Make sure all requirements are met, all projectors are prepared, the camera is properly mounted or placed in its final position before proceeding with the calibration.
Make sure the projectors are mounted properly and meet the requirements listed above.
Configure the camera to expose a resolution with 1:1 aspect ratio.
Example (Daheng cameras):
Have the camera properly mounted or placed. Make sure that nothing is obstructing the projector beams nor the view of the camera on the projection.
Make sure any ambient light is turned off before starting the scanning.
Launch VIOSO 6 and run in Project Mode. Create a new project according to the designated playback solution. We will use Windows Desktop Warp as an example for this tutorial.
Set up the projection configuration accordingly:
Computer node:
Mosaic settings are detected automatically. Right-click on each display to access further features like output splitting
Projectors: Add all projectors and connect
Projectors
Add all projectors and connect them with the computer node
Camera
Set the resolution according to the camera
Set the camera to “Fisheye lens” and 185° opening Angle
If you know the position and rotation of the camera in relation to the screen, you can enter the values below “Pose Parameter”, otherwise keep them set to 0 since the parameters can be set in the “Add 3D” step later in this process
Surface
360° seamless cylinder: left=-180°, right=180°
270 ° cylinder: left=-135°, right=135°
180° cylinder: left=-90°, right=90°
Or load a 3D model with appropriate UV Map:
Normals need to point to the inside
UV map must cover the inside of the cylinder as well
Activate Parameter
Here you specify where to export to. Please consult the respective documentation for the target system (media server, realtime-engine, etc.) how to handle the export.
For applying to a NVIDIA Mosaic, there is not much to set apart from the “apply on start up” checkbox, which makes VIOSO 6 apply the warp&blend whenever started
Choose “Grid/Arbitrary”, since the other modes won’t work on fisheye cameras.
Check “set display calibration mask” to create masks on projectors => strongly recommended
Check “force new geometric scan” if this is the first run or you intend to do a full rescan
The camera is started and you see the projected checkerboard pattern.
Toggling crosshairs help you to align the camera evenly in the center (A)
Double-check that the camera is set to the custom 1:1 resolution (B)
Use the “Format” button to access the camera’s parameters. We recommend to set to these values as a good starting point
Acquisition control:
Exposure: 40.000 (sensitive, slow) – 80.000 (less sensitive, faster scans)
Analog Control:
Gamma: OFF
Sharpening: OFF (Important!)
After positioning and finetuning, create a mask to have the camera view limited to the visible area (=area of interest). It’s important to mask anything that could distract the scanning like reflective areas, light spots, etc.
A typical mask for a fisheye on a cylinder looks like this:
When activated, in the next step masks can be created and applied to each projector. This is important to avoid overshooting on floor and ceiling.
Create masks to limit the projection to the screen:
After repeating for each projector, the outcome should look like this:
Once the camera and all masks are set up, the scanning procedure will be straightforward: Make sure the camera sensitivity is properly set – if too bright adjust either the camera’s iris or dim the projector brightness down. The resulting image should look similar to this:
A preview of a dot pattern is generated. Choose a dot size as small as possible where you are still able to identify each dot clearly. If in doubt, start with dot size 1.2 for standard fisheye kits (2k x 2kresolution), and 1.0 for HQ fisheye kits (4k x 4k resolution).
The resulting picture should look like this:
Click on “Next” to proceed to the dot pattern and “Next” to initiate the scanning.
After each scan, the result of the scan is pictured by a sample output on the projector and an informative rendering on the screen.
We recommend to use the fisheye testing pattern ” Domegrid_4K-LoW_22.png” found in the current users’s Pictures folder or at C:\Program Files\VIOSO6\Footage\Dome
Check that the projector is completely covered, while the projector masking is applied. This results in a projector output like this:
Note: Don't mind if the displayed image looks flipped and not ready aligned - we're handling this later. The aim of this preview is to visualize the pure scan result.
If you see errors like wavy lines, black spots on the projector, edit the extrapolation parameters or repeat the scan.
Click “Next” to proceed with the other projectors, that you handle in the same way.
After finishing the scan (everything is saved automatically in the folder “Calibration” of the current project directory), it’s about to align with the camera position with the screen position. Based on that information, the content is distributed equally and linear on the screen.
Edit the camera position either by moving and translating with the interactive tools (A) or by entering/editing the values directly (B). Make sure that the camera parameters are set (C).
As a result, the whole screen should be covered with the testing pattern, getting a fairly good geometric alignment (not 100% accuracy is required at this step unless you go for seamless 360° panoramas):
The content is a realtime-rendered texture based on the UV map of the model.
Make sure that all the projection is covered with this testpattern. Leaving spots blank (black) will leave black spots for all subsequent steps. Therefore, we recommend to have a certain overshooting happening at this step, since it can be compensated the subsequent 2D Editing step.
Try to align the lines with the screen geometry as good as it gets, but don’t strive to get a 100% result. There are some facts that will jeopardize this:
3D-model and the screen don’t fit exactly
Camera distortion
Therefore, once you have a certain feeling to have the best possible alignment done (=no black parts, everything more or less centered), you are good to continue.
For seamless 360° projections, every geometric editing must happen in this 3D alignment step. The additional warping of the subsequent step cannot apply for seamless 360° projections.
The second step of editing happens after the conversion from 3D into the 2D space of the content.
Depending on the camera resolution and the number of projectors, this transformation can take several minutes. Make sure not to interrupt this transformation, which is executed automatically.
Click “Player” and add the testpattern generated in step 2.2 (Preparation) and click Play to display it on the projectors. It will fit to the screen according to the way the 3D alignment has been done before.
Use the warping grid to fine-align the testpattern according to the screen geometry. A typical warp might look like this:
Resulting output on the projection:
Refer to the documentation for integrating the calibrated result depending on your use-case:
Integrated Videoplayer
Exaplay
Desktop Embedding on NVIDIA Quadro GPUs
3rd party Media Playback Solutions
Just push the button “Recalibrate” and the whole scanning procedure will run through fully automated:
Disable evtl. applied desktop warp (on NVIDIA Hooking)
Launch the calibration based on all previously saved parameters.
Add 3D alignment and coversions
Perform the 2D warp and softedge blending
Export (upading existing files)
Re-apply desktop warp (on NVIDIA Hooking)
If case of a camera movement, the calibration must be run through manually.
First, check that the camera is fully working.
Second, create a backup of the current project by duplicating the whole project folder.
Then click “Calibration” and proceed to step 3.2.2 where the camera image is displayed. A typical misaligned camera image will look like this:
The camera mask (red parts) can act as a reference. When set tightly around the projection, the mask reveals the amount of offsetting. Use this for your favor and move the camera back into it’s position where it fits the mask as good as possible.
The image after realignment should look like this:
After realigning the camera, you run through the scanning procedure as outlined in 3.3.3. You should not change any parameter, as we assume that no other change than the camera position has been done.
After the scan, the 3D alignment needs to be double-checked, according to chapter 4. Here, depending on how precise you were able to push back the camera into it’s original position, only very few, deliberate modifications should be done. Concentrate mainly to not have blank parts on the screen. If the deviations are too heavy, don’t proceed but go back to the previous state and work on the alignment of the camera. The better the camera is physically realigned, the easier it will be to maintain the 3D alignment.
After converting, proceed with the warping according to chapter 5. Use the 2D warp to finetune the result, as it is likely that the previous mapping doesn’t fit exactly.
After that the realignment is done and everything can continue as before.
This chapter will delve into a range of standard workflows, serving as illustrative examples of how VIOSO 6 can be effectively utilized. These workflows are designed to provide a practical understanding of the software's capabilities, demonstrating its application in real-world scenarios.
Through detailed exploration, the chapter will guide on how to leverage VIOSO 6 to achieve precise and efficient projector calibration across various environments and use cases.
(for static warping & single viewport), or
(model based for dynamic warping & multi-viewports)
For further informations about MPCDI click the link:
There is a comprehensive video tutorial (credits to Holger Walter, ), showing the workflow of handling a stage setup within Pixera and using Pixera Autocal for generating a panoramic softedge projection on the Pixera helpdesk:
See also AV Stumpfls article about this topic here:
Create a testpattern matching the Screen aspect ratio (e.g. using ), go to Tab Compositing
, load it in the timeline and place the locator on it to have it displayed.
Go to Tab Mapping and select the Screen to calibrate. Note that the Screen selection mode must be active:
You edit the calibration using the step Edit and ocassionally Align 3D You might even run a new scan by clicking Calibrate and going through the scanning procedure.
Click Export to update the VWF files
Create a testpattern matching the Screen aspect ratio (e.g. using ), go to Tab Compositing
, load it in the timeline and place the locator on it to have it displayed.
Go to Tab Mapping and select the Screen to calibrate. Note that the Screen selection mode must be active:
In Project Mode: Make sure to uncheck "Adaptive Triangulation" in the Export Node of the project design:
In Free Mode: Make sure to uncheck "Adaptive Triangulation" in the Export Settings:
If running in free mode, make sure, keep splits
is activated:
Please refer to the official documentation for a comprehensive guide on the calibration procedure and steps to import MPCDI files into Delta: .
For detailed guidance on how these files are handled and utilized by BrightSign devices, visit the .
For more details, you can refer to the of TouchDesigner.
Now it’s time to think about the content. There should be at least one testing pattern, that fits to the screen dimensions and therefore acts as a reference for proper alignment and content distribution. If no testing pattern exists, we recommend to create one using the free Online Testpattern Generator: .
Keep in mind the relation between the Mosaic topology and the content to be displayed. While this is straight forward on configurations with walls only (see ), it's a more complex consideration for configurations including floor and ceiling (see )
Do not use testpatterns just in projector resolutions, this is misleading. Make the testpattern matching the aspect ratio of the walls by all means. Learn more about creating testpatterns here:
Follow all instructions regarding the scanning procedure as outlined here:
Use our free testpattern generator to create two pictures:
Create a testpattern matching the aspect ratio of the screen. Important: Do not create a testpattern using the full resolution, as this will distort the output. Learn more about creating a proper testpattern here:
Use the built-in 3D generator for basic geometries (plane, cylinder, dome, etc.) Enter the radius and the image height of the cylinder. Enter the curvature in degree from the center of the screen. Example values:
This procecure requires some practise since it is highly handling the whole scenerey from the view of an fisheye lens.
Refer to to learn more about how to optimize the softedge blending.
All Walls
9m x 2m
8640 x 1200
Left wall
Right wall
4m x 2m 5m x 2m
3840 x 1200 4800 x 1200
Floor (10% overlap)
5m x 4m
2160 x 1728
VIOSO HQ Fisheye Kit [CK_FDQ-4]
4508 x 4096
4096
4096 x 4096
VIOSO Standard Fisheye Kit 2/3’’ [CK_FDN-4]
2444 x 2048
2048
2048 x 2048
VIOSO Standard Fisheye Kit 1’’ [CK_FDN-4b]
2592 x 2048
2048
2048 x 2048