Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 110 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

VIOSO 6

Loading...

Loading...

System Preparation

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...

Getting Started

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Calibration

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

USING CALIBRATIONS

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

STEP BY STEP GUIDES

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Graphics cards

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.

GPU Feature comparison

Feature
NVIDIA Quadro/RTX
AMD Radeon Pro
Consumer GPUs
onBoard GPUs

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

Visual Studio Runtime

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).

Welcome to VIOSO 6

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.

Key Features

  1. Seamless Hardware Integration: Supports a wide range of projectors and cameras.

  2. User-Friendly Interface: Simplified setup process for ease of use.

  3. Automatic Calibration: Robust tools for camera-based calibration.

  4. High Precision: Delivers accurate and vibrant projections.

  5. 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.

DirectX Runtime

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.

3D Settings for video playback

For using NVIDIA RTX/Quadro GPUs for video playback solutions, we recommend a couple of settings to be done in the general 3D settings.

  1. Open the Nvidia Control Panel (right click on the desktop)

  2. Go to Manage 3D settings

  3. In the first tab Global settings, scroll down to find the option Power management mode and set it to Prefer maximum performance

  4. Find the option Threaded optimization and set it to On

  5. Find the option Tripple buffering and set it to On

  6. Reboot computer

Please note, that such 3D Settings should be set prior to setting up NVIDIA Mosaic!

Changelog and Version History

Find all released versions of VIOSO 6 and learn about changes and improvements

VIOSO 6.3

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.

VIOSO 6.3.2

Changelog 6.3.2

Improvements

  • network detection of clients improved on large networks

  • new parameter in SPeASY.ini to extend P2W

  • Improved Pandoras Box Profile

Fixes:

  • Various small fixes

VIOSO 6.3.1

Changelog 6.3.1

Improved handling of network licensing

New

  • New network licensing dialog

Improvements

  • network licensing streamlined between preview/edit and export

  • Ported "pseudeo camera scan conversion" from Blackbox to VIOSO 6

Fixes:

  • Fixed an issue with projector masks being too sticky

VIOSO 6.3.0

Changelog 6.3.0

Introducing a new blacklevel uplift method

New

  • New blacklevel uplift method

  • Added ConfigureMosaicUI tool to create NVIDIA Mosaic configurations

Improvements

  • Updated licensing engine

Fixes:

  • Various fixes

VIOSO 6.2

Major release, introducing a new way of network licensing that faciliates the use of VIOSO in master-client scenarios.

VIOSO 6.2.1

Changelog 6.2.1

Minor release, mainly recommended for handling Norxe projectors and Pixera 2.0 setups.

New

  • Camera presets for VIOSO Calibration kits in Project Designer

  • Warper4K export

Improvements

  • New conversion task "recalculate blacklevel"

  • Correct demo tag handling on master-client systems

  • Updated references to online documentation

  • Improved sorting of project profiles in the Project Designer

  • For NDI displays in the ProjectDesigner, the hardware ID is automatically filled in if the user does not specify one

  • VWF export: new structure of the file names, now the compound name is in front of the IP, if appended

Fixes:

  • Corrected calibration file naming in Pixera2 profile

  • Fix for export to Norxe projectors

  • Fix to handle project based NDI displays

  • Better projection-plane size calculation for asymmetrical frustum

  • Fix:Blending format combo box on export dialogue was empty

  • Calibrate button is now sensitive to selection in current presenter line

  • ‘Convert to Manual’ is now sensitive to the selection in the current presenter line and can be called up via the More button

VIOSO 6.2.0

Changelog 6.2.0

New

  • Network licensing

Improvements

  • Showing IP address on overlay for client mode

  • Added script generator to shared tools

  • Added testpattern generator to shared tools

  • UI: On projector cursor enabled for VIOSO 6

  • CalibAssignTool indicates encrypted vwf

  • Project Designer: Updated Pixera2 project profile

  • Project Designer: ted 7th Sense project profile

  • Project Designer: Problem check before closing ProjectDesigner

  • Project Designer: new camera node will be connected to surface- and master computer-node, if possible

  • Project Designer: Export script for Pixera2 project shows an dialog to close

  • New command line parameter to switch UI to pure client, master, and use 0 display license

  • Blending: New feature to calculate edge blending normal, faster or with less RAM usage

  • Blending: Recalculate blending is available as conversion task now

  • Blacklevel contour control: now select+drag is activated directly

  • Blacklevel: adjust gain slider changed range (0..100)

  • Blacklevel: adjust gain and global blacklevel gain (color/blend dlg) is synchronized now

  • Blacklevel: new option to show the outline of the current contour blending

  • Blacklevel: changed behaviour for double click selection (select all contour at specific point)

  • Export: new MPCDI options

  • Scripting: New script task to update camera pose, based on MRD file explicitely

  • Scripting: New script action to write the current pose of a camera to a MRD file

  • New problem flag, to inform about no valid IP of computer-nodes

  • New entry in common log, if no valid IP of computer-nodes

Fixes:

  • reintegration of camera to manual calibration conversion

  • reintegration of common compound stacking menu entry

  • reintegration and fix of "calc blacklevel contours" menu entry

  • fix, right VC-Ctrl background image in multi presenter channel setups

  • fix to deal with silent conversions


VIOSO 6.1

Major release, introducing multiple channels, thus replacing Blackbox for complex workflows

VIOSO 6.1.0

Changelog 6.1.0

Note!

  • Exaplay is no longer part of the VIOSO6 installer

New

  • Free-Mode: new Content Mapping feature

  • Free-Mode: support multiple calibrations (like Blackbox)

  • Free-Mode: NVAPI hooking available (like Anyblend)

Improvements

  • new export parameter to combine calibrations into one vwf, including stitching of mosaic groups

  • New export parameter to choose between adaptive and simple triangulation

  • improved grid generation for MPCDI and warper4k

  • new NVapi parameter: implicit multi-calibration mosaic group content space conversion

  • new dialogue for inspection and manipulation of VCR definitions

  • most "first layer" dialogues (MRD, projector adjust, ...) can now be opened in parallel

  • export/convert dialogue saves the last used settings

  • conversion of all VCR based exports to new VCR API

  • the playlist of the presenter lines is now saved in the sps and is persistent

  • the last playlist of the presenter lines are kept persistent even without sps file

  • ProjectDesigner: newly added projector nodes are automatically connected to surface nodes if only one surface node is available

  • ProjectDesigner: loading/saving a design now possible (if the same target)

  • ProjectDesigner: Button for updating the desktop display configuration

  • ProjectDesigner: Identification images can now be switched off (by pressing the button again)

  • ProjectDesigner: If an IP was specified for a display via JSON config file, this IP is used as the name

  • ProjectDesigner is now skinnable

  • Project mode: the overall result is displayed at the end of a camera-based calibration

  • Project mode: support for general multi-export

  • Project mode: and 3D use, a reblend calculation can be triggered after the MRD step

  • Free-Mode: new menu entry to manually trigger a PnP detection

  • Free-Mode: new menu entry to manually read in the SPSurDef.ini

  • Free-Mode: new menu item to temporarily switch to an alternative data path

  • Free-Mode: new menu item to switch back to the original data path if a temporary data path is used

  • Free-Mode: new menu entry to set VIOSO6 to factory settings (except licence, intended for rental machines)

  • Free-Mode: new ini file to record the last used files, serves for better connection of third party programmes

  • Free-Mode: Button for explicitly switching to native warp mode

  • Stage3D: the 3D model can be textured to control the UV coordinates

  • Stage3D: model texture is automatically prefilled based on model texture if empty

  • Script processor: new conditional action to cancel processing by the user

  • in manual calibration, the projector masks can be manipulated directly during calibration

  • additional command line parameters for better control by third-party programmes

  • New command line parameters for direct control of projects and project steps

  • Possibility to load/save the current status on MRD dialogue

  • TCP Test Tool has been extended by further useful parameters

  • SPSurDef.ini has a new structure to support multi-export

  • Some image processing processes have been parallelised to increase performance

  • improved script logging

  • Adjustment of the colour in Blackbox UI

Fixes:

  • Fix for export script when multiple transfer tasks are specified

  • Fix: Problems with too long display names during export

  • Fix: Norxe export supports blacklevel

  • Fix: MPCDI file extensions

  • Fix: auto frustum calculation

  • Fix: PULSE export, watermark- Fix: wrong channel order for png image export

  • Fix Warper4k crash with UHD resolution

  • Fix: edit controls on preset dialogue for manual calibration

  • Fix: loading/saving in mask widgets

  • Fix: Edge handling during upper conversion

  • Fix to allow project folders in the root of a drive when using /O

  • Fix problems when using row/column crop if not fully extrapolated

  • Fix NVapi, adaptation to better handle clone displays

  • Fix: Support for Display Assign Tool on older Intel GPUs

  • Fix to avoid problems with mixed GPU HW (Intel, Nvidia)

  • Fix: Log file is written reliably, even if it is active in read mode

Changelog Exaplay:

Please note, that Exaplay (version 1) is discontinued to be complemenary to VIOSO 6. It's continued as a separate product.


VIOSO 6.0

Stable branch of the new VIOSO 6 software

VIOSO 6.0.11

Changelog 6.0.11

Improvements

  • new implementation of blacklevel contours: now hirachic contours are used without automatic overlap detection

    • Black level contours can now be cloned

    • Blacklevel contours can be loaded/saved/deleted individually or for the entire compound

  • Creation of a Recalib batch file for "double-click" execution of a recalibration

  • New menu item in the main menu: "Reset to factory defaults"

  • NVAPI: "no warp scale" as default option for NVapi export

  • NVAPI: Extension of info.htm?displays with NVapi identifiers

Fixes

  • String buffer too small for many export formats (display names too long led to export abort)

  • First Init" dialog: the first available network adapter is now always preselected

Changelog Exaplay:

Please note, that Exaplay (version 1) is discontinued to be complemenary to VIOSO 6. It's continued as a separate product.

VIOSO 6.0.10

Changelog 6.0.10

Improvements

  • In free mode, a recalibration script is generated on manual exports

  • extended command line

    • specification of a start project

    • start project steps directly

    • switch VIOSO6 to "Free Mode"

  • Improvement of advanced blacklevel UI:

    • contours can now be duplicated

    • each contour can now be scaled individually (in its intensity)

    • new widget (experimental and not yet finished) to set the overlay color

    • points could sometimes not be warped to the edge

Fixes

  • fix for setups with 20+ clients (sometimes not all client outputs were terminated)

  • blending was not calculated with manual compound calibration with abstract displays

  • pixel shift for calibrations with oppositely oriented displays

  • fix against long program start time

Changelog Exaplay:

Please note, that Exaplay (version 1) is discontinued to be complemenary to VIOSO 6. It's continued as a separate product.

VIOSO 6.0.9

Changelog 6.0.9

Improvements

  • optimal content size calculation for networked displays

  • Complementary tools now appear in the main menu

  • Windows taskbar deactivation behaviour can now be toggled

  • Improved handling of seams for NVAPI

  • Improved dot previsualization

Fixes

  • fixes for Barco PULSE integration

  • fixes for MPCDI export

  • fixes blend calculation when blend not visible in camera

  • fixes issue on Daheng cameras using custom ROI in DirectShow

Changelog Exaplay:

Fixes

  • Playback issues using multiple NotchLC files

  • Fixes against output blinking

  • License issues fixed

VIOSO 6.0.8

Changelog VIOSO 6.0.8

New

  • support for external warp designs in project manager and script engine

  • new project profiles for Touchdesigner, Smode, Shira, Pandoras Box

  • new project design for Watchout v7

Improvements

  • project name and description are now validated (remove forbidden characters to avoid problem in XML and file system)

  • in Project Designer, flat surface parameters, renaming of Radius to Offset

  • limitation to 4096px content-size in create 3D-model dialog

  • swapped position of "abort"/"create" button in Project Design create button

  • all offered Project Designs now have an individual image

  • pure 3D profiles (rfpro, ...) now have an edit step with disabled VC-Ctrl

  • further adjustments to the export profile for Exaplay, Pixera, Wings

  • in the export paths you can specify variables to handle "current user" document path

  • in the help text of the export parameters a link can be specified

  • in BMM calibration dialog, inspection area was extended by a button to go through the available images

  • changed handling of abstract-displays during calibration and presentation

  • now only 5s are waited to reach a client

  • if a required client for a presentation is not reachable, the presenter line is stopped automatically

  • during calibration a message is displayed and the possibility of "back" and "cancel" is offered

  • renaming of Calibrator UI modes from quick/advanced to project/free mode

  • a splash screen is displayed during the evaluation of the license

  • new info dialog in Menu/Extras to show the connection status of all clients used so far

  • when using a 0-display license the calibrator UI is locked and an overlay is shown to indicate this

  • first init dialog reworked, new base profiles, possibility to specify the data path, new function to limit the subnet mask

  • Exaplay service can be packed into autostart via "first init" dialog

  • the installer has been extended by a hint dialog, which informs the customer about a required internet connection

  • the installer now automatically registers SPCalibrator and Exaplay in the Windows firewall

  • new MFormats SDK (2.7.1.13217)

  • new Mediainfo dll (22.09)

Fixes

  • fix for client displays staying black while painting a projector calibration mask

  • fixed problem with file names for arbitrary 3D models

  • fixed problem with wrongly updated edit fields in Calibrator UI

  • fix of MPCDI, PULSE, openEXR, DISI blending export (BGR-RGB)

  • other minor bug fixes

Note: Releases 6.0.6 and 6.0.7. are internal releases and not public available.

VIOSO 6.0.5

Changelog VIOSO 6.0.5

New

  • Dedicated handling of seams for 360° insallations

  • extension of the ProjectDesigner (MPCDI, 3D profiles)

  • rework of the loading/saving process of sps-files, thereby massive acceleration

Improvements

  • VIOSO 6 SIM: automatic creation of Windows Firewall rules for Blackbox

  • changed deployment for OEM VIOSO6 versions

  • Installer creates firewall settings

  • improved edge handling of P2C/C2P

  • improved standard contour-based blacklevel compensation with new soft region expansion

  • re-enabled the original blacklevel compensation

  • accellerating the loading/saving process of compressed sps-files

VIOSO 6.0.4

Changelog VIOSO 6.0.4

New

  • New project templates for Pandoras Box, Touchdesigner, Smode, Shira Universe and Shira Player

  • New info tab in the menu/Tools to display the connection status of all previously used clients

  • New project templates for Watchout v7

Improvements

  • Support for external warp designs in Project Manager and script engine (special knowledge is required in Designer)

  • Project Designer: name and description are now validated (remove forbidden characters to avoid problems in XML and file system)

  • Project Designer: flat surface parameter, renaming from radius to offset

  • Project Designer: all offered project designs now have an individual image

  • Project Designer: swapped position of "abort"/"create" button in Project Design create button

  • Updated project templates for Exaplay, Pixera, Wings

  • Export: link to VIOSO Helpdesk for extended documentation

  • Export: support variables to deal with "current user" document path

  • Limitation to 4096px content-size in create 3D-model dialog

  • 3D profiles (rfpro,...) now have an edit step with VC-Ctrl disabled

  • A splash screen is displayed during the evaluation of the license

  • When using a 0-display license, the Calibrator UI is locked and an overlay is displayed

  • new MFormats SDK (2.7.1.13217)

  • new Mediainfo dll (22.09)

  • Renaming of the Calibrator UI modes from quick/advanced to project/free mode

  • modified treatment of abstract displays during calibration and presentation

  • Network timeout reduced to 5s to reach a client

  • During calibration, a message is displayed and the possibility of "back" and "cancel" is offered

  • Post scan dialog: inspection area has been extended by a button to go through the available images

  • Post scan dialog: more camera inspection images

  • First init dialog revised, new basic profiles, specifcation data path, new function to limit the subnet mask

  • Installer has been extended by a hint dialog, which informs the customer about a required Internet connection

  • Installer now automatically registers SPCalibrator and Exaplay in Windows Firewall

Fixes

  • fix for client displays remaining black while painting a projector calibration mask

  • fixed problem with filenames for arbitrary 3D models

  • fixed problem with incorrectly updated edit fields in Calibrator UI

  • fix of MPCDI, PULSE, openEXR, DISI blending export (BGR-RGB)

  • if a required client for a presentation is not available, the presenter line is automatically stopped

  • generally fix minor bugs

Changelog EXAPLAY:

Improvements

  • Exaplay service can be added the autostart via "first init" dialog

VIOSO 6.0.3

Changelog VIOSO 6.0.3

Improvements

  • Reworked export profile for Pixera

  • Project Designer validates all names against forbidden characters

  • Project Designer validates path and file names

Fixes

  • Handling issues of the project designer when multiple network adaptors are present

  • Handling issues with cameras that expose certain caracters in their name

  • various minor fixes

Changelog EXAPLAY:

Fixes

  • Fixed a bug playing back HAP 5 encoded files

  • Framecounter output enabled for HAP files

VIOSO 6.0.2

Changelog VIOSO 6.0.2

Improvements

  • Picturall configurator: added screen reference for multiple calibrations per server

  • Zero Licenses come with SIM Extension

Fixes

  • wrongly splitted VWF exports in multiclient abstract display configurations

Changelog EXAPLAY:

New Features

  • Simple TCP/IP and UDP Remote control server

  • Simple OSC Remote control

VIOSO 6.0.1

Changelog 6.0.1

New Features

  • EXAPLAY in VIOSO 6 installer

  • VIOSO 6 now provides Anyblend Technology (Desktop Hooking, NVIDIA only)

  • Project templates: Desktop Hooking, Integrated File Player, Exaplay

  • Templates for AV: Wings 6, Wings RX, Pixera, Vertex, Wachout, Pandora's Box

  • Templates for SIM: rfPro, more3D, Silab, VTD, MiddleVR, X-Plane, AV Simulation, Simsoft, DISI, DISI X, Wärtsilä

  • Templates for Realtime: Unity, Unreal

  • VIOSO 6 SIM now provides Blackbox

Improvements

  • Default workdirectory moved to loca user's Document folder

  • Improved handling of integrated file player (former VIOSO Player)

  • Improved Autostart behaviour

  • Improved license handling

Fixes

  • License upgrade during valid maintenance

Changelog EXAPLAY (first public release)

New Features

  • New cue-list based video playback software with browser-based UI

  • Supports natively HAP, HAPQ, NotchLC

  • Supports compressed video (H.264, H.265, ProRes, etc.) - via ffmpeg

  • Seamless loop for videos

  • Audio overlay for images and videos; independent loop

  • Transitions: Crossfade, Fade-to-black (includes audio)

  • Startup handling (Exaplay Service) and basic automation

  • Processes VIOSO 6's warp&blend files (with encryption)

VIOSO 6.0.0

Changelog 6.0.0

New Features

  • major version of VIOSO's software suite for projector calibration and mapping

  • New license management

  • Project management

  • Node-designer styled setup configuration

  • Integrated process automation from Design to Export

  • Templates for numerous applications from AV, simulation and realtime industry

  • 3D camera alignment

  • New masking tool

NVIDIA RTX/Quadro Setup

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:

  1. Prepare to reinstall the GPU Driver. Disable all Mosaic settings and perform a complete uninstall.

  2. Reboot.

  3. 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...

  4. Reboot.

  5. Reboot.

  6. Reboot.

  7. If everything looks good and behaves well, create a system image for backup and rollback. Then make your final....

  8. Reboot.

DO NOT SKIP ANY REBOOTS!

This workflow avoids nearly all possible anomalies, blue screens, slow down, corrupted settings, etc.

EDID Emulation

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.

PLEASE NOTE: EDID MANAGEMENT IS NOT AVAILABLE ON NVIDIA GEFORCE GRAPHICS CARDS!

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.

Video tutorial

Step by step guide

  • Step 5: Reboot

Please do a reboot before doing anything else on this system.

Find and install NVIDIA Drivers

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.

Which NVIDIA driver should be used?

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:

Use current drivers with a high revision number. The higher a revision number, the more stable a driver turns out to be.

How to obtain NVIDIA drivers

NVIDIA drivers are availble as public downloads. They change frequently.

  • Step 2: Filter according to your system:

Parameter
suggested value
comment

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:

    1. Use a driver from the R5... version

    2. Use a driver from the most current or second current version

    3. 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

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:

parameter
suggested value
comment

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

NEVER do a mosaic setup right after installing the driver without doing a reboot!

NVIDIA Mosaic

Available on NVIDIA RTX/Quadro GPUs only

Windows Desktop Spanning

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:

NVIDIA Mosaic is required to apply warp & blend directly to the Windows Desktop!

Step-by-step Guides

Option 1: Mosaic Utility

The following steps provide instructions on using the ConfigureMosaic.exe utility:

  1. Download “configureMosaic.exe,” using the “Download Now” button.

  2. The configureMosaic.exe utility must be run in a command window with administrator user privileges

  3. To find a list of commands for the ConfigureMosaic.exe utility run the following command:

C:\PATH\configureMosaic.exe help

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:

C:\Path\ConfigureMosaic.exe set rows=2, cols=4 res=3840,2160,60

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:

Option 2: NVIDIA control panel

The following steps provide instructions on setting up a Mosaic configuration using the NVIDIA control panel.

  1. From the Select a Task navigation pane, under Workstation, click Set Up Mosaic to open the associated page.

  2. 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.

  3. 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

  4. 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.

  5. Arrange Displays

  6. When completed, click Apply. Mosaic is activated after a while.

While activating Mosaic, the outputs will flicker and the system might be unresponsive for quite a while

You need to confirm the Mosaic within 15 seconds - watch out for a tiny popup and make sure to confirm in time!

Official ressources

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":

Microsoft Visual C++ Redistributable packages for Visual Studio 2015, 2017, 2019, and 2022
https://vioso.com/download/microsoft-directx9/
VIOSO6_6.3.2.10804.exe
VIOSO6_6.3.1.10714.exe
VIOSO6_6.3.0.10674.exe
VIOSO6_6.2.1.10602.exe
VIOSO6_6.2.0.10549.exe
VIOSO6_6.1.0.10444.exe
VIOSO6_6.0.11.10355
VIOSO6_6.0.10.10243
VIOSO6_6.0.9.10156
VIOSO6_6.0.8.10055
VIOSO6_6.0.5.9793
VIOSO6_6.0.4.9746
VIOSO6_6.0.3.9668
VIOSO6_6.0.2.9625
VIOSO6_6.0.1.9594
VIOSO6_6.0.0.9561
learn more about RTX/Quadro series from NVIDIA
how does this work
how does this work
https://www.nvidia.com/download/find.aspx
https://www.nvidia.com/en-us/drivers/mosaic-utility/
https://images.nvidia.com/aem-dam/en-zz/Solutions/design-visualization/quadro-product-literature/NVMosaic-UG.pdf

Expanders

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.

Configuring Graphics Card Output with VIOSO 6

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.

Network

Networking in VIOSO 6

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.

Networking Requirements

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.

Important: Ensure that DHCP (Dynamic Host Configuration Protocol) is not used for IP configuration. Manual IP assignment is crucial for network stability in VIOSO 6 environments.

setup a network of fixed IPs

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:

1. Determine IP Address Range and Subnet Mask:

  • 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.

2. Assign Static IP Addresses:

  • 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...

3. Configure Router:

  • 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.

4. Test Connectivity:

  • 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.

5. Document and Maintain:

  • 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.

remote access via LAN and internet

local remote access and external TV access

Importance of remote acces via LAN

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.

Difference between local VNC and Remote access

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.

Local (IP-based) VNC Tools

  • 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.

Common IP-based VNC Tools:

  1. RealVNC

  2. TightVNC

  3. UltraVNC

  4. TigerVNC

  5. TurboVNC

Internet-based Remote Access Tools:

  • 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.

Common Internet-based Remote Access Products:

  1. TeamViewer

  2. AnyDesk

  3. Remote Desktop Protocol (RDP) - built-in feature in Windows operating systems

  4. Chrome Remote Desktop

  5. 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.

Setting up EDID Emulation on a NVIDIA RTX/Quadro GPU

camera network

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:

1. Bandwidth Management:

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.

2. Firewall and Security Settings:

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.

3. Increased Network Bandwidth:

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.

Recommendations:

  • 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.

firewall configuration

required ports & services

Ports used by VIOSO 6

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:

For Remote Control

  • TCP Port: 8317

  • UDP Port: 817

For Multiclient Usage

  • TCP Ports: 8417 and 8517

Configuring the Windows Firewall:

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."

Output Synchronization

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:

  1. Close all running applications.

  2. Navigate to “Synchronize Displays”

  3. It takes several seconds and displays will probably blink. After that, Sync is enabled and you can close the NVIDIA Control Panel.

Others/onBoard GPUs

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:

1. Use updated drivers

  • 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.

2. Connect Displays/Projectors

  • 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.

3. Windows Display Settings

  • 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.

Detailed GPU Settings

Adjusting Graphics Card Settings for Optimal Performance

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.

Network settings in VIOSO 6

Settings for multiclient usage

These settings apply when multiple instances of VIOSO 6 are connected via network to execute scalable calibrations.

Access from Menu > Options > Settings > Multi client:

Common Settings

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

All VIOSO 6 instances must use the adaptor from the same network. E.g.: PC1: 192.168.49.10, PC2: 192.168.49.11, etc This will not work: PC1: 192.168.0.10 , PC2: 192.168.20.11

Other settings

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

Changes of Control Port and Information Port must be done on all PCs in the same way!

  • 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

Settings for Remote Control

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

Webcams

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.

How to select a suitable webcam for projector calibration

When selecting a webcam for the calibration of projectors, several important features are essential to ensure accurate and reliable results:

1. Manual Control of Image Acquisition:

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.

2. High-Quality Lens (wide angle, low distortion):

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.

3. Stable and Uninterrupted Video Transmission:

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.

3. Resolution and Image Quality:

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.

Limits of using webcams for projector calibration

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:

1. Limited Field of View:

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.

2. Image Distortion:

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.

3. Reduced Image Quality:

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.

4. Connectivity and Transmission Issues:

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.

5. Lighting Conditions:

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.

Mitigation Strategies:

  • 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.

Recommended Webcams for Low-Range Scenarios

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.

Online creator for configuremosaic.exe
ENGLISH: How to setup MOSAIC using NVIDIA control panel

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. .

Product
Resolution
Field of view HxV
operating distance
https://images.nvidia.com/content/quadro/product-literature/user-guides/Quadro-Sync-II-User-Guide.pdf
Mosaic Konfigurationstool - VIOSO

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

AMD website
NVIDIA website
Please contact us

Configuring Daheng Cameras

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.

Overview about Calibration kits based on Daheng cameras:

Calibration Kit
Description
Sensor size
Resolution
Framerate
Lens
Multicam-ready

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

Installing

1. Connecting the camera

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.

The camera requires a stable 1Gb/s ethernet connection. 100MB/s won’t work!

We strongly recommend running the camera directly to the PC. Therefore, VIOSO servers usually come with 2 dedicated Ethernet ports. Please note that during calibration the camera creates a large amount of data, occupying the whole network bandwidth and therefore should not be shared with other network based applications (e.g. remote access).

2. Installing the driver package “Galaxy DSK 2”

    • Check GigE Vision

    • Check DirectShow

    • Check Enable Jumbo Frames

  1. Reboot the system.

3. Network configuration

  1. 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.

Camera Configuration

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.

Common parameters

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!

Analog Control

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.

Image cropping for Fisheye calibration kits

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.

  1. To change the sensor resolution, STOP the current camera stream (1)

  2. Set the parameters “Width” and “OffsetX” to get a square resolution, centered on the sensor (2) – see table below:

Parameters:

Calibration kit
sensor resolution
Height
Width
OffsetX
OffsetY
resulting resolution

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

User settings

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.

Troubleshooting

Camera not showing in the Galaxy driver and IP configurator tool

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:

  1. First enumerate the device

  2. Input the MAC address of the camera: It is usually written on the sticker underneath the mounting adapter.

  3. Set the desired IP address. Must be in the same segment as the network adapter.

  4. Click “Resume device IP” and finally enumerate the device to see whether the camera will appear in the list.

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”

Configuring IDS Imaging Cameras

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.

Overview about Calibration kits based on IDS cameras:

The following instructions apply to camera kits with a body from “IDS Imaging”:

Calibration Kit
Description
Camera Body
Interface
Sensor size
Resolution
Lens

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°

Installing

1. Connecting the camera

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.

The camera requires a stable 1Gb/s ethernet connection. 100MB/s won’t work!

We strongly recommend running the camera directly to the PC. Therefore, VIOSO servers usually come with 2 dedicated Ethernet ports. Please note that during calibration the camera creates a large amount of data, occupying the whole network bandwidth and therefore should not be shared with other network based applications (e.g. remote access).

2. Install IDS U-Eye Software

  1. Install driver

3. Network configuration

After installing and rebooting, you will be able to use the IDS Camera Manager to control the basic network settings of the camera.

IDS camera manager main window

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.

Configuring the camera for first use

Set a fixed IP

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).

Configure your camera

  1. Run IDS Camera Manager.

  2. Select the NIC that is connected to the same network as the PoE camera.

  3. Select the camera from the Camera list.

  4. Select Automatic ETH Configuration.

  5. 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:

Testing the camera

To test the camera, use the application “uEye Cockpit”.

Choose the mode "Live video":

uEye cockpit main window

Display the camera stream within uEye Cockpit

  1. Click on the play icon with the camera in the top-right corner (under the”File”menu).

  2. 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.

  3. Adjust the zoom and iris settings by loosening the screw locks counter-/anti-clockwise, positioning.

  4. Then appropriately using the camera feed for preview and tightening to lock them into place.

  5. Close all windows when testing is complete.

Camera

Camera requirements for VIOSO calibration

  1. 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

Considerations for choosing a camera for projector calibration

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:

VIOSO Calibration kits:

  • 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.

Webcams:

  • 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.

SLR Cameras:

  • 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.

Conclusion:

  • 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.

Other IP-cameras (IP, cctv etc)

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.

Blacklevel explained

What is projector blacklevel?

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:

  1. 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.

  2. 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.

  3. Light Source: The type of light source in the projector (e.g., lamp, LED, laser) can impact black levels.

  4. 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.

How to optimize a projector’s blacklevel

  1. 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.

  2. 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.

  3. 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.

Especially for multi projector configurations, projector blacklevel is one of the most important feature that should kept in mind when choosing a specific projector model.

Blacklevel in multi projector configurations

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:

  1. 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.

  2. Reduced Image Uniformity: Inconsistent black levels can result in variations in brightness and contrast across the projected image, leading to reduced overall image uniformity.

  3. 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:

Physical solution: Optical Blends

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.

Software solution: Black Level Uplift

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.

How Black Level Uplift works

  1. 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.

  2. 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.

Advantages of Black Level Uplift

  1. 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.

  2. Lower costs: Compared to optical blending Black Level Uplift does not require custom engineering and dedicated mechanical works.

  3. 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.

Disadvantages of Black Level Uplift

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Applications supporting Black Level Uplift

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:

NVIDIA Support
Einrichten von MOSAIC mit dem NVIDIA Control PanelNVIDIA
GERMAN: How to setup MOSAIC using NVIDIA control panel

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.

https://vioso.com/calibration-kit-finder/
https://vioso.com/download/daheng-galaxy-sdk-2/
Download the manufacturer tool “Daheng Debugging ConfigureIP”
https://download.vioso.com/drivers/daheng/GxDirectShowRegister.exe
https://vioso.com/download/ids-camera-driver/
https://pureinfotech.com/set-static-ip-address-windows-10/
You can learn here how to prepare different types of cameras for the VIOSO scan.
3D mappings
VIOSO calibration kits
http://alax.info/blog/1216
contact us
VIOSO Exaplay
VIOSO Player
contact us
https://bitbucket.org/vioso/vioso_api/src/master/
get in touch with our simulation experts
Logo

Projectors

How to evaluate and configure projectors to improve blending quality

Evaluating projectors for softedge blending

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.

Content and surface

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.

Setting up projectors

  • 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).

Deploy VIOSO 6

VIOSO 6 comes as a standard Windows Installer. The most recent version of the installer is avaliable from this generic URL:

Download the latest stable version of VIOSO 6:

Some notes on the installation:

  1. An existing installation of VIOSO 6 is replaced

  2. Run the installer as admin

  3. Confirm all SmartScreen Prompts

  4. 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

Common install errors

Error message "missing d3dx9_xx.dll"

Sometimes after a new install you might encounter this error messate at first start:

„d3dx9_40.dll“ or „d3dx9_43.dll“ is missing on your computer.
Reinstallation of the application could solve your problem.

An outdated, incomplete, or missing DirectX 9 runtime is the most likely reason for this error. You basically just need to (re)install it as an administrator.

See here how to install or update DirectX: DirectX Runtime

SLR Cameras via USB connection

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:

Please note: Since there are so many types, brands, and models of cameras, as well as a lot of third-party software converters, we can’t test them all. As a result, we can not guarantee that your camera will work for the calibration process. Please perform some tests beforehand.

License information

Need information about the activation or maintenance status of a license? Or retrieve a license key? There are several ways to access these information.

Accessing License Viewer in VIOSO 6:

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

Getting the activation key in VIOSO 6

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.

Retrieve License information

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 online

  • 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.

Demo License

If you want to test VIOSO 6, a demo license is required. It’s easy to create one.

Option 1: Request License at Download

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.

Option 2: Request License at first run

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.

Display Adaptors

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.

Using high-quality adaptors, all of the same brand and model, is crucial for getting a synchronized, tearing-free and NVIDIA Mosaic compatible output

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:

  1. 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.

  2. 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.

  3. Support for Audio and Video: DisplayPort to HDMI adaptors typically support both video and audio signals.

  4. 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.

  5. 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.

  6. 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”.

  7. 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.

NVIDIA provides a list of recommended adaptors here:

optical blending mask in front of a projector lens
soft edge is physically achieved by blocking the light path, thus avoiding visible seams on dark contents

Error message "The application was unable to start correctly (0xc0…….)”

This error can happen because a required programming runtime environment is missing on your system. Please download and install the runtime environment provided by Microsoft:

After a reboot, this error should be gone and the application should start normally.

If the error still occurs, there could be an issue with the DirectX runtime (see DirectX Runtime)

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:

https://vioso.com/download/vioso6
Download Visual Studio 2015-2022 (64 Bit) runtime
Learn more about Visual Studio Runtimes (e.g. for other platforms than 64 Bit)
https://sparkosoft.com/how-to-use-dslr-as-webcam
http://www.instructables.com/id/Use-your-Canon-EOS-1000D-as-Webcam/
https://vioso.com/license-self-help
https://vioso.com/demo
https://nvidia.custhelp.com/app/answers/detail/a_id/4449/~/nvidia-recommended-display-adapters

License Activation

Before using the software, an acitvation key needs to be activated. This works best if the PC is connected to the internet.

Online Activation

  1. 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.

  2. At the first start of VIOSO 6, the License Wizard shows up:

  3. Choose Activate Online Learn here how to activate VIOSO 6 if the PC is not connected to the internet: Offline Activation

  4. Enter the activation key. We recommend to “copy and paste” from a text source to avoid typos. Continue clicking Activate:

  5. 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.

Offline Activation

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:

Activating from a secondary PC

  1. Have the PC to activate, the activation key and another PC with internet access ready.

  2. 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.

Activating using a mobile device

  1. Have the PC to activate, the activation key and mobile phone with a functional camera for QR-reading ready.

  2. On the PC that ist to be licensed, run VIOSO 6.

  3. Click “Activate your license” and then “Activate Offline”

  4. 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.

  5. 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”.

  6. The activation key now is done and the license is locked on the PC.

  7. Click “Finish” to close the the Activation Wizard.

Common Errors

License not matching

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

Invalid license

This error happens mainly of this reasons:

  1. 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).

  2. The Computer key was entered wrong in the License Wizard. This happens easily when typing in manually. Try to use copy & paste whenever possible.

Good to know

  • 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.

Maintenance

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.

VIOSO 6 licenses are always perpetual, i.e. the installed VIOSO 6 software will continue to run without restriction even after the maintenance period has expired.

Maintenance renewal​

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.

Find updates automatically

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

Get current maintenance status

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:

The release date of the software matters, not the date of install. So you can install an update after end of maintenance period, as long as the software release date lies within the maintenance period.

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

Changing a License

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

License Transfer

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.

Online Transfer

This is the recommended way and works if the PC running VIOSO is connected to the internet

  1. Launch the License Wizard (learn here how to launch the license wizard: License information)

  2. Click Deactivate your license – 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.

Offline Transfer

Deactivation via smartphone (QR code):

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.

Offline Deactivation via secondary PC

You can release the license using another PC which has internet access

Step 1: Get your activation key and deactivate locally

  • 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.

Step 2: Make the license available for another activation

  • Click Deactivate License

  • Enter your previously stored activation key and click Deactivate. The license is now released for another activation.

License transfer from a “dead” PC

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.

How is a multi-usage of licenses prevented?

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.

Operating System

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 Camera kits

Overview

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:

Versions

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.

First Init & Autostart

Network & Licensing

After installation, VIOSO 6 shows a dialog to make some important initial configurations (“First Init”).

Launching the First Init Dialog anytime

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.

First Init dialog explained

App Configuration

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:

Licensing

Network

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).

Data save path

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:

Deploy standard ini-files to default data 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.

Autostart

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.

Updating VIOSO 6

Some notes on the installation:

  1. Create a backup of your current calibration project

  2. An existing installation of VIOSO 6 is replaced

  3. An internet connection is required to activate the license after each upgrade and downgrade. Alternatively, an offline activation can be done.

Automatic Update

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:

Update available

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.

Make sure to be online. At the first run of the updated program version, the license needs to be updated, which happens automatically as long as the PC is online.

No Update available

The latest available version of VIOSO 6 that is compatible with the maintenace period of your license is installed:

Manual Update

Updating without using the License Wizard, e.g. on systems without internet access, is possible as well. Please follow these steps:

Step 1: Determine the current maintenance status of your license

Step 2: Finde the eligible version of VIOSO 6

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.

Step 3: Activate the license

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.

Response "Your license failed to activate"

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.

Project Mode vs. Free Mode

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.

Comparison of both modes

Project mode (recommended usage):

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

Free Mode

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

Switching modes

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.

Free Mode

To work in the free mode, click “Switch to Free Mode” if VIOSO 6 is not already started in this mode.

Main Sections of the User Interface in Free 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"

Channels are available from VIOSO 6.1

(B) Targets

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.

(C) Adjustments Dialog

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)

(D) Warping

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.

(E) Action List

Here you will find buttons that guide you through the calibration process. The number and characteristics of the buttons vary depending on the mode.

Licensing

A licence comes in form of an acitvation key (XXXX-XXXX-XXXX… or XXXXXXXX). The activation key represents a license by this data:

License activation

To execute the software, it’s license must be activated once on a PC.

License transfer

License Check

You can check the state of your license either directly in the application, or online.

Demo

Configuring HIK Vision Cameras

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.

Overview about Calibration kits based on HiK cameras:

Installing

1. Connecting the camera

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.

The camera requires a stable 1Gb/s ethernet connection. 100MB/s won’t work!

We strongly recommend running the camera directly to the PC. Therefore, VIOSO servers usually come with 2 dedicated Ethernet ports. Please note that during calibration the camera creates a large amount of data, occupying the whole network bandwidth and therefore should not be shared with other network based applications (e.g. remote access).

2. Install the driver package “MVS”

3. Install DirectShow Interface

Run as Admin:

For x86 systems, run the same files from \x86 folder instead.

4. Network configuration

  1. Make sure that the camera is connected and powered (PowerLED “blue”)

  2. 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.

Camera Configuration

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.

Common parameters

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.

Image cropping for Fisheye calibration kits

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

User settings

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.

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”

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:

App Configuration
Licensing
Use case
Licensing
Use case
Result

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:

project mode
free mode

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:

Calibration Kit
Description
Camera Body
Interface
Sensor size
Resolution
Lens

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”

https://vioso.com/license-self-help
Learn here how to retrieve information about the current license state
https://vioso.com/license-self-help/
https://vioso.com/license-self-help/
https://vioso.com/license-self-help/
Visual Studio Runtime 2022
DirectX Runtime (Version 10)
Windows 10 Tweaking Guide

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.

C:\Users\[Current User]\Documents\VIOSO\VIOSO6
  • 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

[User Documents]/VIOSO6/VIOSO/projects
[User Documents]/VIOSO6/VIOSO/

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°

C:\Program Files (x86)\MVS\Development\ThirdPartyPlatformAdapter\DirectShow\x64\MvDSS2\InstallDSSvc_x64.bat
Changelog and Version History
Changelog and Version History
Scanning
Maintenance
License Transfer
Demo License
Response "Your license failed to activate"
Maintenance
Offline Activation
Offline Activation
Online Activation
Offline Activation
Accessing License Viewer in VIOSO 6:
Get license information online
https://vioso.com/download/hik-driver-software-mvs/

Multiclient Configuration (Abstract Displays)

"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:

Application
Location of SPSurDef.ini
Port

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:

  1. Automatic generation: Abstract Display Configurator tool

  2. Manual configuration

Before configuring abstract displays you need to check the following conditions:

  • All PCs are on the same network and are up and running

  • VIOSO 6 runs as client on each PC, see First Init & Autostart

  • Ports are not blocked or closed (default is 8417). Check the firewall settings.

1. Automatic generation via Abstract Display Configurator

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

1.1. Step-by-step guide to generate the abstract display configuration:

  1. Launch the Client Display Configurator:

    1. From within VIOSO 6: Menu => Tools => Client Display Configurator

  2. Connect your PCs to the same network and make sure they are up and running with VIOSO Calibrator launched and configured on each.

  3. Add your first client: Set a Name and type in its IP address.

  4. 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.

1.2. Notes

  • 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

2. Manual configuration

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:

<?xml version="1.0"?>
<VIOSO>
<File version="1.0.0" build="1234"/>
  
  <logicalDisplay name="Abs01" idString="ABSDEVICE\DISPLAY\{6B25DFF9-B88F-4277-83CA-DFCEEC31C217}\0000" >
    <topology rows="1" cols="1" />
    <display iRow="0" iCol="0" posX="0" posY="0" sizeX="1920" sizeY="1080" core="192.168.2.20" />
  </logicalDisplay>
  
  <logicalDisplay name="Abs02" idString="ABSDEVICE\DISPLAY\{4E0A13AB-FEDB-443F-A102-B817B71C628B}\0000" >
    <topology rows="1" cols="1" />
    <display iRow="0" iCol="0" posX="1920" posY="0" sizeX="1920" sizeY="1080" core="192.168.2.21" />
  </logicalDisplay>

</VIOSO>  

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.

Designer

In the Designer, the components of the system to be calibrated are displayed (called "nodes") and related to each other by connecting lines.

Nodes

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:

Computer

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.

Monitor

If you use a control monitor, insert it and connect it to your graphics card's right output.

Projector

All projectors to be calibrated must be inserted and the properties can be entered, although these do not initially affect the calibration.

Camera

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.

Network Switch

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.

Projection surface

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.

Export

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.

Eyepoint

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

Connecting Nodes

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

Toolbar

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.

Right-click toolbar

This toolbar can be used to add nodes

Multiclient Setup

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.

Finish Design

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.

3D Model Handling

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.

Content Space

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:

      [current user]\Documemts\VIOSO\VIOSO6\3DModel

Once created, the content space and its 3D model will appear in the main “Content Spaces list”.

Using your own 3D model:

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)

Testpattern

Considerations for creating a Testpattern

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:

Online Testpatterngenerator

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).

VIOSO's free testpattern generator is available at:

Features

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.

Step-by-step guide

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.

Prerendered Testpatterns for dome projection

At the bottom of the page, you will find test patterns for domes and cylinders available for download.

Project Mode

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.

Overview of the steps

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.

Steps in 2D Mode
Steps in 3D Mode

Design

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.

Calibrate

This step performs data acquisition with a camera or manual projector calibration.

Add 3D (only in 3D mode)

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.

Edit

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.

Export

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.

Recalibrate

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 / DirectShow devices

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:

Resolution and Frame Rate Setting (Format):

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.

Image Settings (Options):

After selecting the image formar, access the options to tweak the camera image by pressing the button "Options"

Exposure, Focus and Zoom Settings (Camera Contol):

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.

Deactivate Auto Exposure, Auto Focus and Auto Zoom by all means! All such automatic adjustments will mess up the scanning.

White Balance (Video Proc Amp):

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.

Deactivate Auto White Balance by all means! All such automatic adjustments will mess up the scanning.

Device Selection

Step 1: Select projectors

Project mode: projectors are selected in the Designer

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.

NVIDIA Mosaic or Display Expanders

Project mode: Display splitting is configured in the Designer

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:

Camera Scan Methods

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.

Other methods

  • 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.

Step 2: Select Camera

Project mode: camera is selected in the Designer

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.

Step 3: Additional Options

Display/Projector arrangement

Select the arrangement of projectors to optimize the blending:

Grid/Arbitrary:

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.

Horizontal strip:

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.

Vertical strip:

Same consideration as for horizontal strip, but with the blend zones entirely apparent at the top/lower side of each projector image

Other settings

Set display calibration mask

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.

Force new geometric scan

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.

Save to

Specify the name of the calibration file (*.sps) that is automatically created after the scan.

Extended options

This will trigger a popup with special settings for this scan. Do not alter these settings unless required by VIOSO support etc.

Project Creation

Project Creation

A new project is initiated via the "File" = "New Project" menu. A dialogue opens showing a series of ready-made project templates:

Project Templates

Exaplay

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

Video Playback

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.

Desktop Warp

This preset activates the NVIDIA mode. The calibration is embedded in an NVIDIA Mosaic display and creates a large, blended and warped Windows desktop.

Vertex

This preset generates calibration files in *.vwf format, which also support blacklevel uplift and can be used in IOVERSAL Vertex.

Pixera 2

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.

Pixera

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.

Wings, WingsRX

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.

Watchout

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.

Watchout v7

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.

Coolux Pandoras Box

This mode generates export files in *.x format (warps) and *.pmb (blends) that are suitable for Christie Pandoras Box. Blacklevel uplift is not supported.

Avolites AI

This mode generates export files in *.vwf format, which are suitable for AVolites AI media servers. Blacklevel uplift support is not supported.

7th Sense, GreenHippo, BrighSign

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.

Touchdesigner

This mode generates export files in *.vwf format, which are suitable for Derivative Touchdesigner. Blacklevel uplift support is not supported.

Smode

This mode generates export files in *.vwf format, which are suitable for Smode. Blacklevel uplift support is not supported.

Shira

This mode generates export files in *.vwf format, which are suitable for Sureyyasoft Shira Player and Shira Universe. Blacklevel uplift support is not supported.

Unity

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.

Unreal

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.

Generic

This mode allows a completely free configuration of the export. All formats and all parameters are freely adjustable.

Scanning

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.

Scanning projectors

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:

1. Adjust brightness

This step determines the brightness of the projector depending on the camera exposure and reflectivity of the surface.

At first run, the ideal brightness for a projector is determined automatically.

If in doubt, go with this setting and manipulate only if there are obvious issues with the brightness detection.

  • 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.

2. Adjust Dot Size

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.

The objective: To see as many dots as possible that are clearly delineated, do not smudge and do not fade away

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:

3. Noise Filter Threshold

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.

Projector masking

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) .

1. Purpose of projector masks

1.1. Masks to limit overspill and unwanted covering

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:

1.2. Masks for optimising the blending zones (cropping masks)

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:

Creating cropping masks

2. Creating Projector Masks

2.1. Prior to the scanning

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.

2.2. On an existing calibration

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".

3. Projector masking tools

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.

3.1. Load/Save

  • 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

3.2. Adding shapes

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.

Tools to draw shapes:

3.3. Modifying Layer properties

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

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).

Using HIK Vision Cameras within VIOSO 6

Once the camera is configured, MVS software must be closed.

It is not possible to access the camera within VIOSO Core as long as the camera is opened in MVS!

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 .

https://vioso.com/download/vioso-abstract-display-config/
free Test Pattern Generator
http://testpatterngenerator.com
Scan Result
Projector masking
Scan Result
1. Adjust brightness
Scanning projectors
https://en.wikipedia.org/wiki/Line_moir%C3%A9

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

Camera Masking (Region of interest)

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.

Load/Save

  • 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

Adding shapes

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.

The camera mask does not mask projectors, nor does it restrict the projection or influence the screen coverage. This mask is solely to define the area which are taken into consideration during the scan. To limit the projector coverage we use warping and projector masking.

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

Modifying Layer properties

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.

2D Warp

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.

Realtime Warping

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.

Warping Tools

The warping is mainly a point-and-click workflow. Several tools help to achive this task.

Warping Toolbar

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

Warping Context Menu

The warping area also contains a context menu that is available by right-clicking on the preview screen.

4-Point Warping / Keystoning

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:

Before starting a 4-Point Warping, right click on the warping grid and select interpolation method - keystone rect

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.

Arbitrary Warping

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.

Camera adjustment

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

Create a camera mask

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)

Using Daheng Cameras within VIOSO 6

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.

It is not possible to access the camera within VIOSO Core as long as the camera is opened in “Galaxy Viewer” or other software like "AMCap"!

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”

3D Mapping in Freemode

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).

Workflow

  1. Load the calibration in VIOSO and activate it, so you can see the calibration result on the projectors.

  2. Make sure the warping Virtual Canvas (VC) is untouched and it is set by default to full screen.

  3. 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.

  4. Double-click on it to activate it, so it is in “playing” status:

  5. On the main window, un-check the Show test image checkbox, as this test pattern will always be shown on top of playlist content.

  6. Align the virtual camera parameters to your real calibration camera measurements. Refer to the section 3D Mapping for details and examples.

3D Mapping

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.

Camera positioning in the 3D World

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.

  1. Enter the position in Origin (in mm from the origin of the model of the projection surface)

  2. Set the rotation to relative

  3. Estimate the rotation and enter the valuesRotation x(pitch), y (yaw) and z (roll)

Adjustment from World-View

Tools to adjust the camera

Select camera

Switch the sensitivity for keyboard interaction (arrow keys)

Move camera

Rotate camera

Tools to manipulate the world view:

Adjust global view with this world view gizmo:

Select camera

Toggle arrow key mapping tool

Pan view

Rotate view

Zoom view

Reset view

Adjustments from 3D 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:

Tool for mapping arrow keys

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.

Tools to adjust the camera

Move camera

Rotate camera

Toggle arrow key mapping tool

Adding camera image as background

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:

Hints for completion of 3D mapping

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

Content Mapping

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.

Content mapping modes

2D Warping

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.

3D Mapping (Model based warping):

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.

Comparison of 2D and 3D 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.

Summary

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.

Scan Result

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.

Flat & arbitrary surface scan

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.

Scan OK

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.

Scan not OK

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.

Curved Screen/Dome Scan

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).

Good Scan

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.

Bad Scan

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.

Parameters explained

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.

Whenever a parameter is changed, click Recalculate to apply & view the result

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.

Notes on Extrapolation

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:

Full Polinominal Extrapolation

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.

Partial Polinominal Extrapolation

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

Blending & Global Adjustments

Overlap & Content Size

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 and Color

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:

Softedge Adjustments

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.

Adjustment Tools

  • 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.

All blending parameters are applied to all softedges within a single display compound at the same time.

Extended Adjustment tools

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.

Switching between both blending modes is possible any time.

Content Masking

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

Global Color Adjustment

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.

Content adjustment settings are not expoted to other tools! They are only used in the internal player of VIOSO 6.

3D Mapping parameters

All parameters of the 3D scene are displayed at the left hand side of the 3D Mapping dialoge (Model Rendering Definition Adjustment).

Parameters explained

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.

We recommend to set the Alignment always to relative, so that all parameters are applied to the camera object directly.

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.

Example: Top-down fisheye camera on a panadome screen:

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.

Export to any application

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.

OEM builds of VIOSO 6 (e.g. for Pixera or Ioversal) produce VWF files that are only readable by the OEM application.

To do an export, finish the calibration.

Performing the Export

Export in Project Mode

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.

Export in Free Mode

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:

Export Parameters

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

Supported Export Formats

Generating a Recalibration Script

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.

Advanced export definitions and automation

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.

Adjust Projectors

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

Keep Show disply identification checked to see the name of the projector rendered on the projector output. This way you can easily identify which projector you are handling at the moment.

Optimizing blending quality by adjusting projectors

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:

  1. Perform color adjustments for all projectors using several test images.

With proper settings applied, even challenging setups can be handled to get acceptable results:

result without warping, as viewed from the camera

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.

this tool maps the camera position or camera rotation on the arrow keys in the keyboard

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)-

Format
Description
Compatible with 3rd-party applications

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

2D Warp
Export Automation Reference
Projector masking
Creating cropping masks
3. Projector masking tools
Blending and Color

Integrated Videoplayer

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.

Supported media files

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

Usage for video playback

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:

Playlist Features

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.

Top Row

  1. Add entry: Add a media file, control item, or image sequence to the playlist (add entry menu explained below).

  2. Delete entry: Delete the selected entry from the playlist.

  3. Delete all entries: Delete the entire playlist.

  4. Re-order entries UP: Re-order the selected media item one place higher on the playlist.

  5. Re-order entries ALL UP: Re-order the selected media item all the way up the playlist.

  6. Re-order entries DOWN: Re-order the selected media item one place lower on the playlist.

  7. Re-order entries ALL DOWN: Re-order the selected media item all the way down the playlist.

  8. Load a playlist: Select playlist from disk.

  9. Save a playlist: Save playlist on your disk.

  10. Dock to Main Window: Dock the playlist window on the left side of the main window.

Bottom row

  1. Video progress: Progress bar for video files.

  2. Previous item: Go back to previous media file.

  3. Play: Play selected item.

  4. Next item: Go to the next media file on the playlist.

  5. Pause: Pause current playback.

  6. Stop: Stop current playback.

  7. Autoplay:, when checked, the playlist starts playing as soon as the output is activated (important for autostart scenarios)

  8. 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.

  9. Status information screen: Displays the current playback status.

  10. Volume control: Manage the global audio volume of the current playback.

Adding Entry menu

Use the Add Button to add items to the playlist:

  1. Add media file: Add one or multiple media files from disk

  2. 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.

  1. Add model item: Add an MRD item (Model Render Display) to use for 3D Mapping

Media Item Options

Ricght-click a playlist item to access the context menu with options for this media item:

Properties:

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:

Usage for Live-Input

VIOSO 6 can be used to display live input sources on a calibrated output.

Live Input display is only possible in Free Mode

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:

  1. 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.

  2. NDI: Requires “NDI Tools (r)” installed – read below

To switch between sources, the playback has to be stopped, so toggle the Show mode to “Off” before switching to another source.

Using NDI

After installing, restart VIOSO 6 and NDI sources will show up as configured and available:

Autostart and Autoplay

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.

Autostart

First, make sure VIOSO 6 is launched with Windows Startup. Read more here: Autostart

Project Mode

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.

Free Mode

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.

Make sure to have the playback active and running. Only then contine.

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.

Export to Exaplay

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.

Configure Export

Export to Exaplay in project 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.

Export to Exaplay in Free Mode

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.

Load in Exaplay

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.

Unity3D

The plugin allows you to integrate your display calibration directly into a Unity Application.

Follow the steps below on how to use it:

In VIOSO Core

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.

In Unity3D (SRP)

  1. Open your Unity Project.

  2. Click on “Import“

  3. Navigate to the plugin directory “Assets\Plugins\vioso” and add your mapping file (.vwf) to that folder.

  4. 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.

  5. VIOSOWarpBlend.ini Configuration: Open Assets\Plugins\vioso\VIOSOWarpBlend.iniAdd the parameters for your cameras as shown below:

[default]

logLevel=2

base=[1000, 0, 0, 0; 0, 1000, 0, 0; 0, 0, -1000, 0; 0, 0, 0, 1]
eye=[0,0,0]
near=0.15000 ;the near plane clipping distance
far=10000.00000 ;the near plane clipping distance


bAutoView=1;
autoViewC=1.00000 ;
bTurnWithView=1
bBicubic=1
bDoNoBlack=0


;Path for the calibration file exported from VIOSO. Absolute or relative to the .dll path
calibFile=Export.vwf

;Camera name in Unity
[cam1]
calibIndex=2

[cam2]
calibIndex=1

[cam3]
;optionally you can assign here a different calibration file. e,g calibFile=export_2.vwf
calibIndex=0
  • 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.

In Unity3D (HDRP/URP)

Download the package from our bitbucket and follow the instructions in the Readme.md

Notes / Troubleshooting

  1. 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.)

  2. Cameras not displaying in the correct display order:

    1. 1st fix: From the Unity camera parameters, change the “Target display” to match the “Windows Display Settings” order.

    2. 2nd fix: From the VIOSOWarpBlend.ini change the “calibIndex” between cameras to swap the order.

  3. 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

  4. 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.

  5. 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.

  6. 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.

  7. Check VIOSO_Plugin64.log in the build directory \plugin to monitor the status and errors.

Unreal Engine

Integration to nDisplay

This section provides a guideline on how to integrate VIOSO calibration data into Unreal.

Workflow in the steps below:

1. In VIOSO software

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

2. In Unreal Engine

2.1 versions 4.27.x – 5

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:

Type
Parameter
Description

VIOSO

VIOSO type

  1. Explicit VWF: reference directly the calibration file (.vwf) exported from VIOSO

VIOSO

file

  1. 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

2.2 versions 4.24 – 4.26

3. Notes & Troubleshooting

  • 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.

  • MPCDI vs VWF formats:

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

Desktop Embedding

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…

Desktop Hooking requires a professional NVIDIA GPU and all outputs arranged into a Mosaic Group.

Learn more here: NVIDIA Mosaic

How to use desktop hooking in project mode

1. Configure your system

2. Create a New Project in VIOSO

Create a new project with the preset: Desktop Warp:

Only single client and single surface calibrations are supported to be embedded into the Windows Desktop via project mode.

3. Setup the project design nodes

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:

Option
Method
Parameters
Screenshot

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.

4. Calibration

5. Activate

  • Finally, when the calibration is finished you will unlock the button “Activate” which applies the warping and blending to the GPU.

Real-time Engines

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).

Supported 3D rendering applications

Blacklevel Compensation

Introduction

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.

Read more about blacklevel here: Blacklevel explained

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.

Accuracy Limits

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.

Available Compensation Methods

Available Compensation Methods

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.

Texture-Based (quick)

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.

How to use

Right after the calibration is completed

  • 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)

Region based (standard quality)

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.

How to Use

Activate the separate calculation of overlap regions before the scan. Margins can be changed collectively via conversion task. Parameters for the uplift effect are adjusted after the scan in “Color and Blending”

  1. Preprocess: Activate during or after camera-based calibration. A standard size is used for initial calibration with regard to the size of the margin.

  1. 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

  1. 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.

Region based (highest quality)

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.

How to use:

Like above (Region based, standard quality) but with different conversion task.

  1. Preprocess: Activate during or after camera-based calibration. A standard size is used for initial calibration with regard to the size of the margin.

  2. Perform conversion task from the menu Calibration > Conversion Tasks > Projector Space blacklevel:

  1. Adjustments: see above

Fully Manual

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:

  1. 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:

UE Examples & Sample files

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).

Multi-viewport (3D)

CAVE: Single Server – 3x projectors (mosaic) [via vwf]

CAVE setup:

  • 1x FHD 1920×1080 monitor: skipped by nDisplay

  • 1x Mosaic of 3x FHD PJs: 5760×1080

  • Custom eyepoint : z=180 cm

CaveVWF.nDisplay
{
"nDisplay":
{
"description": "",
"version": "5.00",
"assetPath": "",
"misc":
{
"bFollowLocalPlayerCamera": true,
"bExitOnEsc": true,
"bOverrideViewportsFromExternalConfig": false
},
"scene":
{
"xforms":
{
"nDisplayXform":
{
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 0
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
},
"ViosoOrigin":
{
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 180
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
},
"cameras":
{
"DefaultViewPoint":
{
"interpupillaryDistance": 6.4000000953674316,
"swapEyes": false,
"stereoOffset": "none",
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 0
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
},
"screens":
{
"nDisplayScreen":
{
"size":
{
"width": 200,
"height": 112.5
},
"parentId": "nDisplayXform",
"location":
{
"x": 100,
"y": 0,
"z": 50
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
}
},
"cluster":
{
"primaryNode":
{
"id": "Node_0",
"ports":
{
"ClusterSync": 41001,
"ClusterEventsJson": 41003,
"ClusterEventsBinary": 41004
}
},
"sync":
{
"renderSyncPolicy":
{
"type": "ethernet",
"parameters":
{
}
},
"inputSyncPolicy":
{
"type": "ReplicatePrimary",
"parameters":
{
}
}
},
"network":
{
"ConnectRetriesAmount": "300",
"ConnectRetryDelay": "1000",
"GameStartBarrierTimeout": "18000000",
"FrameStartBarrierTimeout": "1800000",
"FrameEndBarrierTimeout": "1800000",
"RenderSyncBarrierTimeout": "1800000"
},
"failover":
{
"failoverPolicy": "Disabled"
},
"nodes":
{
"Node_0":
{
"host": "127.0.0.1",
"sound": true,
"fullScreen": false,
"window":
{
"x": 1920,
"y": 0,
"w": 5760,
"h": 1080
},
"postprocess":
{
},
"viewports":
{
"VP_0":
{
"camera": "DefaultViewPoint",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"overscan":
{
"bEnabled": false,
"mode": "percent",
"left": 0,
"right": 0,
"top": 0,
"bottom": 0,
"oversize": true
},
"region":
{
"x": 0,
"y": 0,
"w": 1920,
"h": 1080
},
"projectionPolicy":
{
"type": "VIOSO",
"parameters":
{
"base": "[1000 0 0 0] [0 1000 0 0] [0 0 1000 0] [0 0 1000 1] ",
"file": "D:/Calib/Export/Mosaic/3D/left.vwf",
"origin": "ViosoOrigin"
}
}
},
"VP_1":
{
"camera": "DefaultViewPoint",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"overscan":
{
"bEnabled": false,
"mode": "percent",
"left": 0,
"right": 0,
"top": 0,
"bottom": 0,
"oversize": true
},
"region":
{
"x": 1920,
"y": 0,
"w": 1920,
"h": 1080
},
"projectionPolicy":
{
"type": "VIOSO",
"parameters":
{
"base": "[1000 0 0 0] [0 1000 0 0] [0 0 1000 0] [0 0 1000 1] ",
"file": "D:/Calib/Export/Mosaic/3D/middle.vwf",
"origin": "ViosoOrigin"
}
}
},
"VP_2":
{
"camera": "DefaultViewPoint",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"overscan":
{
"bEnabled": false,
"mode": "percent",
"left": 0,
"right": 0,
"top": 0,
"bottom": 0,
"oversize": true
},
"region":
{
"x": 3840,
"y": 0,
"w": 1920,
"h": 1080
},
"projectionPolicy":
{
"type": "VIOSO",
"parameters":
{
"base": "[1000 0 0 0] [0 1000 0 0] [0 0 1000 0] [0 0 1000 1] ",
"file": "D:/Calib/Export/Mosaic/3D/right.vwf",
"origin": "ViosoOrigin"
}
}
}
},
"outputRemap":
{
"bEnable": false,
"dataSource": "mesh",
"staticMeshAsset": "",
"externalFile": ""
}
}
}
},
"customParameters":
{
},
"diagnostics":
{
"simulateLag": false,
"minLagTime": 0.0099999997764825821,
"maxLagTime": 0.30000001192092896
}
}
}

Panadome: Single Server – 3x projectors (mosaic) [via mpcdi]

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.

panadomeMPCDI.ndisplay
{
"nDisplay":
{
"description": "",
"version": "5.00",
"assetPath": "",
"misc":
{
"bFollowLocalPlayerCamera": true,
"bExitOnEsc": true,
"bOverrideViewportsFromExternalConfig": false
},
"scene":
{
"xforms":
{
"nDisplayXform":
{
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 0
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
},
"cameras":
{
"DefaultViewPoint":
{
"interpupillaryDistance": 6.4000000953674316,
"swapEyes": false,
"stereoOffset": "none",
"parentId": "",
"location":
{
"x": -20,
"y": 0,
"z": 50
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
},
"screens":
{
"nDisplayScreen":
{
"size":
{
"width": 200,
"height": 112.5
},
"parentId": "nDisplayXform",
"location":
{
"x": 100,
"y": 0,
"z": 50
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
}
},
"cluster":
{
"primaryNode":
{
"id": "Node_0",
"ports":
{
"ClusterSync": 41001,
"ClusterEventsJson": 41003,
"ClusterEventsBinary": 41004
}
},
"sync":
{
"renderSyncPolicy":
{
"type": "ethernet",
"parameters":
{
}
},
"inputSyncPolicy":
{
"type": "ReplicatePrimary",
"parameters":
{
}
}
},
"network":
{
"ConnectRetriesAmount": "300",
"ConnectRetryDelay": "1000",
"GameStartBarrierTimeout": "18000000",
"FrameStartBarrierTimeout": "1800000",
"FrameEndBarrierTimeout": "1800000",
"RenderSyncBarrierTimeout": "1800000"
},
"failover":
{
"failoverPolicy": "Disabled"
},
"nodes":
{
"Node_0":
{
"host": "127.0.0.1",
"sound": true,
"fullScreen": false,
"window":
{
"x": 3840,
"y": 0,
"w": 4800,
"h": 2560
},
"postprocess":
{
},
"viewports":
{
"VP_0":
{
"camera": "DefaultViewPoint",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"overscan":
{
"bEnabled": false,
"mode": "percent",
"left": 0,
"right": 0,
"top": 0,
"bottom": 0,
"oversize": true
},
"region":
{
"x": 0,
"y": 0,
"w": 1600,
"h": 2560
},
"projectionPolicy":
{
"type": "MPCDI",
"parameters":
{
"MPCDIType": "Explicit PFM",
"file": "",
"buffer": "",
"region": "",
"origin": "",
"EnablePreview": "",
"alpha_gamma": "0.5",
"scale": "1.0",
"pfm": "C:/Users/Public/Documents/VIOSO/Anyblend/Export/3D/Display0.pfm",
"alpha": "C:/Users/Public/Documents/VIOSO/Anyblend/Export/3D/Display0.png",
"beta": "",
"ue_space": ""
}
}
},
"VP_2":
{
"camera": "DefaultViewPoint",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"overscan":
{
"bEnabled": false,
"mode": "percent",
"left": 0,
"right": 0,
"top": 0,
"bottom": 0,
"oversize": true
},
"region":
{
"x": 3200,
"y": 0,
"w": 1600,
"h": 2560
},
"projectionPolicy":
{
"type": "MPCDI",
"parameters":
{
"MPCDIType": "Explicit PFM",
"file": "",
"buffer": "",
"region": "",
"origin": "",
"EnablePreview": "",
"alpha_gamma": "0.5",
"scale": "1.0",
"pfm": "C:/Users/Public/Documents/VIOSO/Anyblend/Export/3D/Display2.pfm",
"alpha": "C:/Users/Public/Documents/VIOSO/Anyblend/Export/3D/Display2.png",
"beta": "",
"ue_space": ""
}
}
},
"VP_1":
{
"camera": "DefaultViewPoint",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"overscan":
{
"bEnabled": false,
"mode": "percent",
"left": 0,
"right": 0,
"top": 0,
"bottom": 0,
"oversize": true
},
"region":
{
"x": 1600,
"y": 0,
"w": 1600,
"h": 2560
},
"projectionPolicy":
{
"type": "MPCDI",
"parameters":
{
"MPCDIType": "Explicit PFM",
"file": "",
"buffer": "",
"region": "",
"origin": "",
"EnablePreview": "",
"alpha_gamma": "0.5",
"scale": "1.0",
"pfm": "C:/Users/Public/Documents/VIOSO/Anyblend/Export/3D/Display1.pfm",
"alpha": "C:/Users/Public/Documents/VIOSO/Anyblend/Export/3D/Display1.png",
"beta": "",
"ue_space": ""
}
}
}
},
"outputRemap":
{
"bEnable": false,
"dataSource": "mesh",
"staticMeshAsset": "",
"externalFile": ""
}
}
}
},
"customParameters":
{
},
"diagnostics":
{
"simulateLag": false,
"minLagTime": 0.0099999997764825821,
"maxLagTime": 0.30000001192092896
}
}
}

DOME: 5x Servers – 5x projectors [via MPCDI]

DomeMPCDI.ndisplay
{
"nDisplay":
{
"description": "nDisplay configuration",
"version": "5.00",
"assetPath": "",
"misc":
{
"bFollowLocalPlayerCamera": true,
"bExitOnEsc": true
},
"scene":
{
"xforms":
{
},
"cameras":
{
"DefaultViewPoint":
{
"interpupillaryDistance": 6.4000000953674316,
"swapEyes": false,
"stereoOffset": "none",
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 50
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
},
"screens":
{
"Display0":
{
"size":
{
"width": 100,
"height": 100
},
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 0
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
},
"Display1":
{
"size":
{
"width": 100,
"height": 100
},
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 0
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
},
"Display2":
{
"size":
{
"width": 100,
"height": 100
},
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 0
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
},
"Display3":
{
"size":
{
"width": 100,
"height": 100
},
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 0
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
},
"Display4":
{
"size":
{
"width": 100,
"height": 100
},
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 0
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
},
"scr_0":
{
"size":
{
"width": 100,
"height": 100
},
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 0
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
}
},
"cluster":
{
"primaryNode":
{
"id": "node_0",
"ports":
{
"ClusterSync": 41001,
"RenderSync": 41002,
"ClusterEventsJson": 41003,
"ClusterEventsBinary": 41004
}
},
"sync":
{
"renderSyncPolicy":
{
"type": "ethernet",
"parameters":
{
}
},
"inputSyncPolicy":
{
"type": "ReplicatePrimary",
"parameters":
{
}
}
},
"network":
{
"ConnectRetriesAmount": "300",
"ConnectRetryDelay": "1000",
"GameStartBarrierTimeout": "18000000",
"FrameStartBarrierTimeout": "1800000",
"FrameEndBarrierTimeout": "1800000",
"RenderSyncBarrierTimeout": "1800000"
},
"nodes":
{
"node_0":
{
"host": "10.0.10.5",
"sound": true,
"fullScreen": false,
"window":
{
"x": 0,
"y": 0,
"w": 1920,
"h": 1080
},
"postprocess":
{
},
"viewports":
{
"vp_0":
{
"camera": "",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"overscan":
{
"bEnabled": false,
"mode": "percent",
"left": 0,
"right": 0,
"top": 0,
"bottom": 0,
"oversize": true
},
"region":
{
"x": 0,
"y": 0,
"w": 1920,
"h": 1080
},
"projectionPolicy":
{
"type": "simple",
"parameters":
{
"screen": "scr_0"
}
}
}
},
"outputRemap":
{
"bEnable": false,
"dataSource": "mesh",
"staticMeshAsset": "",
"externalFile": ""
}
},
"node_1":
{
"host": "10.0.10.21",
"sound": false,
"fullScreen": false,
"window":
{
"x": 1920,
"y": 0,
"w": 2560,
"h": 1600
},
"postprocess":
{
},
"viewports":
{
"Display0":
{
"camera": "",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"region":
{
"x": 0,
"y": 0,
"w": 2560,
"h": 1600
},
"projectionPolicy":
{
"type": "MPCDI",
"parameters":
{
"MPCDIType": "Explicit PFM",
"file": "",
"buffer": "",
"region": "",
"EnablePreview": "",
"alpha_gamma": "1.0",
"scale": "1.0",
"pfm": "S:/KALIBRIERUNGEN/Master/Export/calib4unreal/MPCDI_20220530_10.0.10.21/Display0.pfm",
"alpha": "S:/KALIBRIERUNGEN/Master/Export/calib4unreal/MPCDI_20220530_10.0.10.21/Display0.png",
"beta": "",
"ue_space": ""
}
}
}
},
"outputRemap":
{
"bEnable": false,
"dataSource": "mesh",
"staticMeshAsset": "",
"externalFile": ""
}
},
"node_2":
{
"host": "10.0.10.22",
"sound": false,
"fullScreen": false,
"window":
{
"x": 1920,
"y": 0,
"w": 2560,
"h": 1600
},
"postprocess":
{
},
"viewports":
{
"Display1":
{
"camera": "",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"region":
{
"x": 0,
"y": 0,
"w": 2560,
"h": 1600
},
"projectionPolicy":
{
"type": "MPCDI",
"parameters":
{
"MPCDIType": "Explicit PFM",
"file": "",
"buffer": "",
"region": "",
"EnablePreview": "",
"alpha_gamma": "1.0",
"scale": "1.0",
"pfm": "S:/KALIBRIERUNGEN/Master/Export/calib4unreal/MPCDI_20220530_10.0.10.22/Display0.pfm",
"alpha": "S:/KALIBRIERUNGEN/Master/Export/calib4unreal/MPCDI_20220530_10.0.10.22/Display0.png",
"beta": "",
"ue_space": ""
}
}
}
},
"outputRemap":
{
"bEnable": false,
"dataSource": "mesh",
"staticMeshAsset": "",
"externalFile": ""
}
},
"node_3":
{
"host": "10.0.10.23",
"sound": false,
"fullScreen": false,
"window":
{
"x": 1920,
"y": 0,
"w": 2560,
"h": 1600
},
"postprocess":
{
},
"viewports":
{
"Display2":
{
"camera": "",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"region":
{
"x": 0,
"y": 0,
"w": 2560,
"h": 1600
},
"projectionPolicy":
{
"type": "MPCDI",
"parameters":
{
"MPCDIType": "Explicit PFM",
"file": "",
"buffer": "",
"region": "",
"EnablePreview": "",
"alpha_gamma": "1.0",
"scale": "1.0",
"pfm": "S:/KALIBRIERUNGEN/Master/Export/calib4unreal/MPCDI_20220530_10.0.10.23/Display0.pfm",
"alpha": "S:/KALIBRIERUNGEN/Master/Export/calib4unreal/MPCDI_20220530_10.0.10.23/Display0.png",
"beta": "",
"ue_space": ""
}
}
}
},
"outputRemap":
{
"bEnable": false,
"dataSource": "mesh",
"staticMeshAsset": "",
"externalFile": ""
}
},
"node_4":
{
"host": "10.0.10.24",
"sound": false,
"fullScreen": false,
"window":
{
"x": 1920,
"y": 0,
"w": 2560,
"h": 1600
},
"postprocess":
{
},
"viewports":
{
"Display3":
{
"camera": "",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"region":
{
"x": 0,
"y": 0,
"w": 2560,
"h": 1600
},
"projectionPolicy":
{
"type": "MPCDI",
"parameters":
{
"MPCDIType": "Explicit PFM",
"file": "",
"buffer": "",
"region": "",
"EnablePreview": "",
"alpha_gamma": "1.0",
"scale": "1.0",
"pfm": "S:/KALIBRIERUNGEN/Master/Export/calib4unreal/MPCDI_20220530_10.0.10.24/Display0.pfm",
"alpha": "S:/KALIBRIERUNGEN/Master/Export/calib4unreal/MPCDI_20220530_10.0.10.24/Display0.png",
"beta": "",
"ue_space": ""
}
}
}
},
"outputRemap":
{
"bEnable": false,
"dataSource": "mesh",
"staticMeshAsset": "",
"externalFile": ""
}
},
"node_5":
{
"host": "10.0.10.25",
"sound": false,
"fullScreen": false,
"window":
{
"x": 1920,
"y": 0,
"w": 2560,
"h": 1600
},
"postprocess":
{
},
"viewports":
{
"Display4":
{
"camera": "",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"region":
{
"x": 0,
"y": 0,
"w": 2560,
"h": 1600
},
"projectionPolicy":
{
"type": "MPCDI",
"parameters":
{
"MPCDIType": "Explicit PFM",
"file": "",
"buffer": "",
"region": "",
"EnablePreview": "",
"alpha_gamma": "1.0",
"scale": "1.0",
"pfm": "S:/KALIBRIERUNGEN/Master/Export/calib4unreal/MPCDI_20220530_10.0.10.25/Display0.pfm",
"alpha": "S:/KALIBRIERUNGEN/Master/Export/calib4unreal/MPCDI_20220530_10.0.10.25/Display0.png",
"beta": "",
"ue_space": ""
}
}
}
},
"outputRemap":
{
"bEnable": false,
"dataSource": "mesh",
"staticMeshAsset": "",
"externalFile": ""
}
}
}
},
"customParameters":
{
"SampleArg1": "SampleVal1",
"SampleArg2": "SampleVal2"
},
"diagnostics":
{
"simulateLag": false,
"minLagTime": 0,
"maxLagTime": 0.5
}
}
}

Single-viewport (2D)

Single Server – 3x projectors (mosaic) [via 2D vwf]

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.

panadome2D.ndisplay
{
"nDisplay":
{
"description": "",
"version": "5.00",
"assetPath": "",
"misc":
{
"bFollowLocalPlayerCamera": true,
"bExitOnEsc": true,
"bOverrideViewportsFromExternalConfig": false
},
"scene":
{
"xforms":
{
"nDisplayXform":
{
"parentId": "",
"location":
{
"x": 0,
"y": 0,
"z": 0
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
},
"cameras":
{
"DefaultViewPoint":
{
"interpupillaryDistance": 6.4000000953674316,
"swapEyes": false,
"stereoOffset": "none",
"parentId": "",
"location":
{
"x": -20,
"y": 0,
"z": 50
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
},
"screens":
{
"nDisplayScreen":
{
"size":
{
"width": 200,
"height": 112.5
},
"parentId": "nDisplayXform",
"location":
{
"x": 100,
"y": 0,
"z": 50
},
"rotation":
{
"pitch": 0,
"yaw": 0,
"roll": 0
}
}
}
},
"cluster":
{
"primaryNode":
{
"id": "Node_0",
"ports":
{
"ClusterSync": 41001,
"ClusterEventsJson": 41003,
"ClusterEventsBinary": 41004
}
},
"sync":
{
"renderSyncPolicy":
{
"type": "ethernet",
"parameters":
{
}
},
"inputSyncPolicy":
{
"type": "ReplicatePrimary",
"parameters":
{
}
}
},
"network":
{
"ConnectRetriesAmount": "300",
"ConnectRetryDelay": "1000",
"GameStartBarrierTimeout": "18000000",
"FrameStartBarrierTimeout": "1800000",
"FrameEndBarrierTimeout": "1800000",
"RenderSyncBarrierTimeout": "1800000"
},
"failover":
{
"failoverPolicy": "Disabled"
},
"nodes":
{
"Node_0":
{
"host": "127.0.0.1",
"sound": true,
"fullScreen": false,
"window":
{
"x": 3840,
"y": 0,
"w": 4800,
"h": 2560
},
"postprocess":
{
},
"viewports":
{
"VP_0":
{
"camera": "DefaultViewPoint",
"bufferRatio": 1,
"gPUIndex": -1,
"allowCrossGPUTransfer": false,
"isShared": false,
"overscan":
{
"bEnabled": false,
"mode": "percent",
"left": 0,
"right": 0,
"top": 0,
"bottom": 0,
"oversize": true
},
"region":
{
"x": 0,
"y": 0,
"w": 4800,
"h": 2560
},
"projectionPolicy":
{
"type": "VIOSO",
"parameters":
{
"base": "[1000 0 0 0] [0 1000 0 0] [0 0 1000 1000] [0 0 0 1] ",
"file": "C:/Users/Public/Documents/VIOSO/Anyblend/Export/2d-nosplit.vwf",
"origin": "nDisplayXform"
}
}
}
},
"outputRemap":
{
"bEnable": false,
"dataSource": "mesh",
"staticMeshAsset": "",
"externalFile": ""
}
}
}
},
"customParameters":
{
},
"diagnostics":
{
"simulateLag": false,
"minLagTime": 0.0099999997764825821,
"maxLagTime": 0.30000001192092896
}
}
}

MiddleVR

This guide shows you how to integrate your VIOSO projection calibration into MiddleVR.

1. In VIOSO

  • 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 calibFilepath (exported mapping from VIOSO), [Channel_Name] (of your choice) and calibIndex :

2. in Middle VR 2.1+

You can also find these steps in the MiddleVR Documentation

  1. in 3D nodes: Start by adding a new Vioso Warper

  1. Your VIOSO calibration is now integrated.

    • Go back to the APPS tab and click on RUN.

3. Middle VR 2.0 (Legacy)

3. Troubleshooting

  • 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

Field of view adjustment

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.

Multi-Cluster Setup

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.

Calibration for common media servers

VIOSO 6 provides projector calibration to be integrated with commonly used media servers. Here you find step-by-step walktroughs:

VIOSO WarpBlend API

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..

Techviz

This guide shows you how to integrate your VIOSO projection calibration into Techviz.

1. In VIOSO

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

2. In Techviz

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.

AV Stumpfl Pixera

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:

VIOSOWarpBlend.ini Reference

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.

Example .ini file

About the base-matrix and eye-vector

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.

Fisheye calibration camera view

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:

Logo
Engine
Version
Level of Integration
How it works

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 .

Edition
Pixera 1
Pixera 2
projectiontools

*) multi client is somehow doable using a quite complex procedure of file naming and file distribution. Learn more here:

configuration parameter
default value
comment
R11
R12
R13
0
Wiki-Page of the FFMPEG project
Wiki page
codec section
https://ndi.tv/tools/#download-tools
Scanning
Editing
Download the plugin here from the Unity asset store
2D
3D
project mode
free mode
https://bitbucket.org/vioso/unity_hdrp_plugin
https://bitbucket.org/vioso/unity_urp_plugin/
(Panadome Sandbox – VIOSO office)
https://docs.unity3d.com/Manual/MultiDisplay.html
here a demo
here
nDisplay
1. In VIOSO software
2. In Unreal Engine
2.1 versions 4.27.x – 5
2.2 versions 4.24 – 4.26
3. Notes & Troubleshooting
Free mode
project mode (3D mapping)
3. Notes & Troubleshooting
3D config Editor
configuration files
Find here example files for VIOSO calibrations (v4.27 & v5)
find here the old helpdesk guide
Setup EDIDs and Nvidia Mosaic
Guide on the scanning steps
Download here sample VIOSO export files (mpcdi/vwf)
[default]
logLevel=2
bLogClear=0 ;clear log file on start
base=[1000,0,0,0; 0,1000,0,0; 0,0,1000,0; 0,0,0,1] ; frontal cam left handed, row major, most DX
near=0.15 ; the minimum rendering distance, all faces closer than that are culled
far=20000 ; the maximum rendering disctance, all faces futher than that are culled
bTurnWithView=0 ; set to true, if moving platform alas world turns with view direction
bicubic=0 ; set to true to enhance sampling acuracy, will use up some extra GPU
calibFile=C:\Users\Public\Documents\VIOSO\VIOSOPlayer\Export\MyCalib.vwf
autoViewC=1 ;widen FoV to cover a range of autoViewC * screen
bAutoView=1 ;overwrites screen fov and dir
[Channel_1]
calibIndex=0
VIOSO.ini
[default]

;; Specify the full path to your VWF file

calibFile=C:\file.vwf
;; Specify the base matrix, that may vary depending on your display setup

base=[1000,0,0,0; 0,1000,0,0; 0,0,1000,0; 0,0,0,1]



;; Specify the channel indices, for as many channels as the VWF file contains

[A_left_eye]

calibIndex=0

[A_right_eye]

calibIndex=0

[B_left_eye]

calibIndex=1

[B_right_eye]

calibIndex=1

[C_left_eye]

calibIndex=2

[C_right_eye]

calibIndex=2



;; If you want debug logs:

; logLevel=3

; logFile=C:\file.log
## Enable VIOSO warping warping\vioso=1 

## Specify the full path to the VIOSO .ini file we just created warping\vioso\ini=C:\file.ini 

## Specify the channel name prefixes, for as many channels as the VWF file contains screen 0\warping\vioso\channel=A screen 1\warping\vioso\channel=B screen 2\warping\vioso\channel=C 

## To set the HUD position automatically to the position of the screen corresponding to the given channel name # warping\vioso\hud=B 

## For debug: 0 to disable, 1 to enable and skip warping, 2 to enable and perform warping 

## This will display the positions of the VIOSO origin (in red), TechViz origin (in blue), and overriding actuals (in green) 

# warping\vioso\debug=1 The warping will now be applied when you launch TechViz.

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 0to 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

[default]
logLevel=2
bLogClear=1
near=1.0
far=20000.0
base=[1,0,0,0;0,1,0,0;0,0,-1,0;0,0,0,1] ; row major format DirectX conform, as left-handed coordinate system, z has to be inverted, no scaling
bTurnWithView=1
bAutoView=1
autoViewC=1
calibFile=Calib_150930.vwf

[channel 1]
;here go special values for a warper called “channel 1”
calibIndex=0

[channel 2]
;next channel, if you are using this .ini for more than one channel
calibIndex=2

R21

R22

R23

0

R31

R32

R33

0

tx

ty

tz

1

Transfer VWF on multi client configurations
H.265 (HEVC)
H.264 (AVC)
H.262 (MPEG2)
mp4
avi
mov
mkv
PNG
JPEG
BMP
TIFF
MP3
AAC
WAV
VIOSOWarpBlend.ini
VIOSOWarpBlend.ini
MiddleVR
Project
Free
https://www.middlevr.com/2/doc/2.1.0.0/CfgWarping.html#vioso
https://helpdesk.vioso.com/documentation/integrate-3d-engines/middlevr/#2_In_MiddleVR_20_legacy
cluster configuration guide
https://bitbucket.org/VIOSO/vioso_api
VIOSO.ini
https://pixera.one
Step 4: Final conversions
  1. Calibrate the projectors in either in:

  2. From the menu bar, go to File > Export Mapping

  3. 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”

Dataton Watchout

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.

Using autoalignment is not (yet) possible on Dataton Watchpax devices due to system restrictions.

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:

Watchout 7
Watchout 6

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

Pixera v.1

There are basically two ways of integration: fully integrated calibration or stand alone calibration with calibration file transfer.

Fully Integrated calibration: "Pixera Autocal"

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.

Please note, that VIOSO does not sell Pixera Autocal licenses.

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:

Running Pixera Autocal standalone

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

How to launch Pixera Autocal Standalone

  1. 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)

  2. Make sure to have no output running by Pixera.

  3. 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

Make sure to launch the Autocal executable that matches the license on the Pixera dongle.

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.

Handling Master-Client systems

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)

Transfer the result back to Pixera (single client)

The transfer to Pixera consists of two actions:

1. Exporting as VWF File

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:

When using VIOSO 6 or projectiontools, make sure to disable blacklevel uplift in the export. Otherwise the generated VWF-files aren't readable by Pixera 1.

2. Loading in Pixera

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) :

Transfer VWF on multi client configurations

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.

Case #1: Multiple clients with dedicated director PC

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:

PC
How VWFs have to be placed on each PC

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

Case #2: Multiple clients with master also playing video

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).

It's important to place "dummy" calibrations on the director - otherwise it would load&apply all calibrations thus resulting in a bad behaviour on the master.

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:

PC
How VWFs have to be placed on each PC

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

Watchout v.7

VIOSO 6 preparation

Freemode preparation for Watchout 7

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.

Project Mode preparation for Watchout 7

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.

Export Configuration

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:

Parameter Explanation

  1. 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.

  2. Special Mapping Parameter Checkbox - exports in case the used 3D model

  3. 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

  4. Transfer to remote machine Ability to transfer the calibration automatically to clients if needed

  5. Display Split Parameter Keep Splits - should be unchecked if you use a Mosaic setup

  6. Grid Parameter Rows and Columns - The Mesh thats used to create the MPCDI file

  7. Exclude Parameter Check to exclude parameters from export (no need to checn any of these)

Calibration (same for free mode and projectmode)

Calibrate the Screen as needed. Learn more here: Calibration

Masking

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

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

Watchout 7 MPCDI import - step by step

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:

Pixera v.2

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.

For Pixera versions < 2.0.167 please follow the instructions here: Pixera v.1

Licensing

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.

Licensing of VIOSO for Pixera is solely handled by AV Stumpfl. VIOSO GmbH does not sell such 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)

Role
required VIOSO outputs on Pixera dongle
Remark

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

Using old autocalibration module

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:

Please contact support@avstumpfl.com to obtain a custom built calibrator that is compatible with Pixera 2 running old VIOSO licensing.

VIOSO Installation

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 Calibration modes

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.

Project Mode Walkthrough

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.

Due to this simplicity, we generally recommend using VIOSO calibration in project mode.

1. Preparation

In the following walkthrough we consider a typical setting consisting of 4 projectors on two clients, run from a dedicated Pixera Director:

1.1. Prepare the camera

Make sure the camera is ready to be used for calibration. Read here how to get this done: Camera

1.2. Create Pixera show

  1. Launch Presence on all clients and Pixera on the Director PC. In Tab Mapping, make sure all clients are connected and started.

  2. 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.

  3. 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.

  4. Add all clients and connect the projectors to the outputs of each PC in the Mapping / Live section.

  5. 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.

1.3. Launching the Calibrator

1.3.1 First time usage - Launch to check network

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.

This procedure is only required at initial setup and after changing networks.

1.3.1. Launch for first calibration

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.

1.4. Project Designer

After launch the Project Designer shows up, preconfigured with the settings made in Pixera:

1.4.1. Computer nodes

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.

1.4.2. Camera

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.

1.4.3. Surface

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.

1.4.4. Pixera 2 Export Parameter

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.

If the button "Calibration" is not active, open the Design again and check all connections: Clients => Projector => Surface Director => Camera => Surface

2. Calibration Workflow

2.1. Calibration

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.

Within Pixera, any number of projectors can be calibrated up to a maximum of 265. This is independent from the actual licensing, therefore demo and test calibrations are possible.

Make your way through the calibration until all projectors are scanned. Learn more about this process here: Scanning

2.2. Align 3D (optional)

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

This button is omitted (not visible) if Surface Profile is set to 2D in the Project Designer.

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.

2.3. Editing

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.

2.4. Export

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

Pixera will handle the distribution between Director and Clients automatically.

2.5. Return to Pixera

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:

2.6. Calibration settings in Pixera

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.

3. Editing an existing calibration

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.

  1. Pixera will now stop the render output and launch VIOSO Calibrator on all PCs.

  2. 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.

4. Auto-Recalibration

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.

Important: The camera must be up and running and must not be moved, touched or tampered in any way since the initial calibration! Auto-Recalibration relies on the camera being a fixed entity whereas projectors and surface might undergo changes. The ambient lighting situation must be the same as when the initial calibration took place. It cannot be done if there is e.g. sunlight or cleaning light, whereas the initial calibration tool place at utter darkness. Try to automate the lighting together with recalibration automation.

If everything is up and running, an auto-recalibration can be triggered within Pixera by clicking Auto Re-Calibration.

Pixera will now:

  1. Stop the render engine output and launch VIOSO Calibrator.

  2. Run a complete scan of all projectors without any interaction.

  3. Perform all conversions (including 3D to 2D), warpings, masks and other calibration tweaks.

  4. Export, distribute and apply to all clients

  5. Return to Pixera, bring the render output to fullscreen and continue the show playback.

Free Mode Walkthrough

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.

Due to this simplicity, we generally recommend using VIOSO calibration in project mode. See a comprehensive walkthrough here: Project Mode Walkthrough

1. Preparation

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.

1.1. Prepare the camera

Make sure the camera is ready to be used for calibration. Read here how to get this done: Camera

1.2. Create Pixera show

  1. 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.

  1. 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.

  2. Assign all outputs in the Mapping / Live section.

  3. 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.

1.3. Launching the Calibrator

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.

2. Calibration Workflow

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.

2.1. Calibration

Click on the button Calibrate to initialize the calibration assistant:

In this dialog, the hardware devices for the calibration is determined:

  1. 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.

  2. Select scanning method Choose the scanning/extrapolation method. Flat screen, curved sceen/dome and any surface will require a camera.

  3. 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.

Within Pixera, any number of projectors can be calibrated up to a maximum of 265. This is independent from the actual licensing, therefore demo and test calibrations are possible.

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.

2.2. Editing

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

After completing all calibration tweaks, don't forget to save the result again: Menu File - Save Calibration (CTRL+S)

2.3. Export

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:

  1. Have the the calibration selected, that is exported (should be preselected already).

  2. Make sure, that VWF format is selected (should be preselected as well)

  3. Choose path and filename to write on the loca disk, e.g. D:/Calib/PixeraExport.vwf

  4. 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.

  1. Finally, you can initiate the Export by clicking export:

2.4. Return to Pixera

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.

2.5. Calibration settings in Pixera

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.

3. Editing an existing calibration

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.

  1. Pixera will now stop the render output and launch VIOSO Calibrator with the referenced Calibration file (*.sps) loaded.

  2. 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).

  3. Click Export, make sure the prevously made settings are still there and click export to update the VWF files.

  4. Close the Calibrator, return to Pixera

Do not forget to Save the calibration before leaving to Pixera!

Pixera will now automatically apply the updated VWF files and launch the render engine at the state before editing.

4. Auto-Recalibration

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.

Important: The camera must be up and running and must not be moved, touched or tampered in any way since the initial calibration! Auto-Recalibration relies on the camera being a fixed entity whereas projectors and surface might undergo changes. The ambient lighting situation must be the same as when the initial calibration took place. It cannot be done if there is e.g. sunlight or cleaning light, whereas the initial calibration tool place at utter darkness. Try to automate the lighting together with recalibration automation.

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:

  1. Stop the render engine output and launch VIOSO Calibrator.

  2. Calibrator runs a complete scan of all projectors without any interaction.

  3. Calibrator performs all warpings, masks and other calibration tweaks.

  4. Calibrator saves everything and performs the Export

  5. 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.

5. Adapting to multiple clients

It's possible to adapt this workflow to run calibrations on multiple clients:

  1. 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

  2. Configure Abstract displays for each PC and projector: Multiclient Configuration (Abstract Displays)

  3. Run the calibration as described above: 2.1. Calibration and 2.2. Editing

  4. Export the calibration as described here: 2.3. Export

To have Pixera successfully processing the calibration files, you have to stick to this naming conventions: Calib_[IP].vwf => Calibration file to be processed by Presence on a render node Calib.vwf => Calibration file to be processed by Pixera on the master The calibration file running on the Master must not contain the IP, otherwise it's ignored by Pixera!

Watchout v.6

VIOSO 6 preparation

Freemode preparation for Watchout 6

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.

Project Mode preparation for Watchout 6

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.

Export Configuration

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:

Parameter Explanation

  1. Export Definition The preset for watchout is fixed, no changes can be made here.

  2. 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.

  3. Special Mapping Parameter Checkbox - exports in case the used 3D model

  4. 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

  5. Transfer to remote machine Ability to transfer the calibration automatically to clients if needed

  6. Display Split Parameter Keep Splits - should be unchecked if you use a Mosaik setup

  7. Grid Parameter Rows and Columns - The Mesh thats used to create the MPCDI file

  8. Exclude Parameter check to exclude parameters from export

  9. Note Link to the Helpdeskpage

Calibration (same for free mode and projectmode)

Calibrate the Screen as needed. Learn more here: Calibration

Masking

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

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

Watchout 6 MPCDI import - step by step

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

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.

Integration

  • 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.

Demonstration

The following video demonstrates the process of calibration and importing DirectX .x-files and blendmaps into Christie Pandoras Box:

Troubleshooting

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:

Pandoras Box not applying the warp&blend correctly

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.

  1. 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:

    1. Open C:\Program Files\VIOSO6\SPeASY.ini

    2. Seach the Parameter bUseNewTriangulation and set to "0"

    3. Restart VIOSO6 and run the Export again

Pandoras Box running on Mosaic or display expanders or matrixes

7th Sense Delta Server

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.

BrightSign

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

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.

Ioversal Vertex

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:

Integrated AutoCal
VIOSO 6
projectiontools

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

Configuration of Vertex Project

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:

Custom testpattern

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.

Using VIOSO 6

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.

Calibration in Free Mode

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:

  1. Select the compound you want to export

  2. Choose VWF file as export format

  3. Tick the Keep splits checkbox (Important!)

  4. Give a name to your file and select the folder where you want to save it

Using the calibration in Vertex

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:

  1. Select Surfaces in the explorer

  2. Select Surface1

  3. Select Video in the inspector

  4. 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!

Please note Troubleshootingin case you experience "crooked" output after applying warp&blend.

Using Ioversals integrated Autocalibration Module

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:

Calibration Procedure (camera based)

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.

Modifying, Optimizing and Recalibration

This chapter covers the features to edit the result, optimize warping and blending as well as realign projectors with a single click.

Edit the calibration

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:

Automatic Realignment

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.

Troubleshooting

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.

Immersive Rooms (free mode)

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.

1. Prerequisites

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:

  1. Make sure, all projectors are mounted properly, creating an overall sharp and focussed image

  2. When using ultra-shortthrow projectors, do not tilt them, as the loss of focus and brightness cannot be compensated properly!

  3. 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

Computer:

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.

2. Calibration strategies

It is important to know the content before you design the calibration procedure. Consider some generic approaches:

2.1. Walls only

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

2.2. Walls and floor + ceiling

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

2.3. Camera strategies

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.

3. Calibration

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.

3.1. Configuring Free Mode

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):

Handling of multiple channels (=displaying several calibrations at the same time) is available from VIOSO 6.1

3.2. Scanning

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

Scan #1: Left Wall

Select the projectors and camera from the list:

Please do not forget to provide a proper compound name - it will help you in subsequent steps.

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.

Scan #2: Right Wall

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.

For configurations with more walls, repeat this step until all walls are calibrated and represented in the "target" drop down.

Scan #3: Floor

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.

Do not put too much effort in the overall warping at this step, as it requires the final content mapping. See next chapter.

4. Content Mapping

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.

4.1. Calculating content distribution

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:

  1. "Walls" (in this example 8640x1200px) => Walls_8640x1200.png

  2. "Floor" (in this example 2160x1728px) => Floor_2160x1728.png

4.2. Applying content distribution to the calibrations

In our example we have 3 calibrations and 2 contents. This is how the content is therefore mapped.

Floor mapping

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:

Wall mapping

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:

  1. Change to Channel 2 (Right Wall) and assign the "Wall" testpattern we just created:

  2. Change to Channel 1 (Left Wall) and assign the same "Wall" testpattern we just created:

  3. 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

Please note, that 1:1 mappings (like the floor in this example) do not need to be mapped here, therefore they remain "unused".

These are example values. Please adjust according to your setup.

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.

4.3. Fine Tune and final saving

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.

5. Using the calibration

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.

5.1. Option A: Exporting to Exaplay 2

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.

Exporting a compound (floor)

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.

Exporting multiple compounds (walls)

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.

Using the calibration in Exaplay 2

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").

Screen "Walls"

According to our example, make the screen using the first 4 slices of the Mosaic group.

Assign the calibration "Immersive Walls.vwf":

Screen "Floor"

According to our example, make the screen using the last 2 slices of the Mosaic group.

Assign the calibration "Immersive Floor.vwf":

Assign and play content

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".

5.2. Option B: Applying to NVIDIA Mosaic

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.

Cylindrical Panorama with fisheye camera (project mode)

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.

1. Prerequisites

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

  1. 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.

  2. Make sure the projector images covers the screen completely from top to bottom

  3. Avoid tiling projectors, make use of lens-shift instead.

  4. Portrait mounted projectors are a good way to meet high resolution demands on large panoramic screens.

Camera

  1. Choose our high resolution camera kit (CK_FDQ). Due to the peripherical scanning the high resolution sensor matters.

  2. 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).

  3. Having something obstructing the camera view on the projection like scaffolding, handrails, the projectors itself etc. adds another challenge, so try to avoid.

  4. By no means something must block the view on the overlaps.

  5. 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.

Considerations for seamless 360° projections and simulators

  1. 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.

  2. 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.

Preparations onsite

  1. Make sure the projectors are mounted properly and meet the requirements listed above.

  2. Configure the camera to expose a resolution with 1:1 aspect ratio.

Example (Daheng cameras):

  1. 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.

  2. Make sure any ambient light is turned off before starting the scanning.

Calibration

3.1 Designer

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:

  1. 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

  2. Projectors

    • Add all projectors and connect them with the computer node

  3. 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

  1. 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

  2. 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

3.2. Scanning Procedure

3.3.1. Pre-Scan Settings

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

3.3.2. Camera finetuning & masking

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:

3.3.3. Projector masking

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:

3.3.3. Scan

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.

4. Align Camera and surface (3D Mapping)

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):

Remarks

  • 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.

Note for seamless 360° projection and simulators:

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.

5. Edit (Warp & Blend)

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.

Please note, that for seamless 360 projections and simulators, this warping must not be touched. It's not handled at the export. Please make all appropriate fine tinung in step 4!

5.1. Warping

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:

5.2.Edit Blending & projector balance

6. Using the calibration

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

7. Recalibrate & Realign

7.1 Recalibrate

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)

7.2 Re-align

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.

Typical Calibration Workflows

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.

Download

Pixera v.2 Pixera v.1

Watchout v.7 Watchout v.6

Ioversal Vertex

7th Sense Delta Server

Christie Pandoras Box

Derivative TouchDesigner

BrightSign

Unreal Engine
VIOSO UE Guide
Unreal nDisplay documentation
Unity 3D
VIOSO Plugin for Unity
VIOSO Unity Guide
SRP : Download our Plugin from the Unity Asset Store
HDRP version from bitbucket
URP version from bitbucket
MiddleVR for Unity
VIOSO MVR Guide
MiddleVR for Unity documentation
Techviz
VIOSO TechViz Guide
BitbucketBitbucket

(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:

Suface
Measures
Pixels

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:

Calibration kit
Native resolution
Set resolution X
Set Offset X
Resulting resolution

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.

Free mode
Project mode
2D
3D
What is MPCDI? (dataton.com)
https://meen.ae
https://help.pixera.one/working-with-projectors/1218507-camera-based-calibration
https://help.pixera.one/pixera-20/vioso-6
https://testpatterngenerator.com
https://testpatterngenerator.com
Using VIOSO with Delta
BrightSign documentation
official documentation
https://testpatterngenerator.com
widthpx=widthwallwidthtotal∗pxtotalwidth_{px} =\frac {width_{wall}} {width_{total}}*px_{total} widthpx​=widthtotal​widthwall​​∗pxtotal​

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

206

4096 x 4096

VIOSO Standard Fisheye Kit 2/3’’ [CK_FDN-4]

2444 x 2048

2048

200

2048 x 2048

VIOSO Standard Fisheye Kit 1’’ [CK_FDN-4b]

2592 x 2048

2048

272

2048 x 2048

Testpattern
Scanning
Testpattern
2.1. Walls only
2.2. Walls and floor + ceiling
https://testpatterngenerator.com
Learn more about how to handle this 3D mapping tool here.
this article

Immersive Rooms (free mode)

Cylindrical Panorama with fisheye camera (project mode)

3D calibration in VIOSO 6 free mode

Logo
87KB
VIOSO Calibration Kits Overview 2311.pdf
pdf
This example shows 4 projectors connected on 2 clients. By using "Abstract Display" configuration, the Master can access all 4 projectors during calibration
VIOSO 6 Wapring & Blending Software
Example of NVIDIA driver search for an A4000-based Windows 10 system
Drivers with a high "U-number" are considerably more stable then drivers with a low U-number
recommended driver installation parameters (custom install option)
Mosaic topologies
Example of using Mosaic on Display 1 & 2 (left image) to combine into a larger Display 1 (right image)
https://mosaic.vioso.com - online commandline generator for configureMosaic.exe
NVIDIA Control Panel Set Up Mosaic Page
Find this dialog in menu Options - Settings: Remote Control
Find this dialog in menu Options - Settings: Multi client
A typical Displayport to HDMI adaptor
VIOSO 6 in project Mode
VIOSO 6 in Free Mode
Main user interface of VIOSO 6.1
drawing area of the Designer
System ready for calibration
Your test pattern is ready to use!
Switch to project mode
This camera (a Logitech C930e) has a best match of resultion and framerate when using 1920x1080 @30 fps
Adjust at Exposure and other settings. Do NOT check "Auto"!
Find settings that provide a bright, but constrast-rich overall image
Adjust the White Balance . Do NOT check "Auto"!
Split setting examples
Grid/Arbitrary required, because because the outer lines of the projectors are part of the blend zone on all sided
Setup with horizontal blend only to increase blending quality
most likely the noise filter threshold is wrong
projection without masking
projection with added digital mask on each projector
typical shape of such mask on a single projector
native projection
cropping masks applied to uniform the blending regions
Accessing the projector adjustment dialog
Warping grid accessible behind the "3D Align" window
Typical example of a panoramic screen - projection warped in 2D to fit the outline
Typical example of 3D Mapping to ensure perfect linearity of the content
Sample of a good scan using flat screen mmode
Bad scan - distortions visible
good scan
Example of a bad scan
Overlaps for the blending is calculated automatically
all export parameters in the "generic" profile in project mode
Example of a bad blending result - mainly because of different projector color reproduction
Example: Project Design for 2x projectors with Nvidia mosaic
Figure 1: Diagram showing relation between of pixels between projector 1 (smaller pixels) and projector 2 (bigger pixels)
Figure 2: Usage of texture based blacklevel uplift
Figure 3: Activating region based blacklevel before scanning
Figure 4: Conversion task for region based blacklevel (standard quality in camera space)
Figure 5: Adjustments for region based blacklevel compensation
Figure 6: Conversion task for region based blacklevel with highest quality (projector space)
Figure 7: Conversion task for manual blacklevel regions
Figure 9: access manual blacklevel region handling
Figure 10: manual blacklevel region handling
Figure 11: mouse and keyboard interaction for the manual overlap region handling
Example of a proper screen setup with roughly placed projectors displaying a test pattern
Note the filenaming - the trailing IPs are mandatory for Pixera to assign them to each client.
Example of projection mapping for an immersive room
Switch to free mode
Typical immersive room with 2 walls and floor projection
projector assignment based on Mosaic Group ([x,y] following the row/col assignment of the Mosaic display)
Split the display representing the Mosaic display in VIOSO 6 before proceeding with the scanning
Settings for calibrating the first compound (left wall)
Display a generic testpattern on the calibrated left wall
Settings for calibrating the second compound (right wall)
Display a generic testpattern on the calibrated right wall
Settings for calibrating the third compound (floor)
Display a generic testpattern on the calibrated floor
Displaying Floor_2160x1728.png on calibration "Floor" on Channel 3
Assigning content 1:1 (as the floor is represented by a single, dedicated content, e.g. video file)
Displaying Walls_8640x1200.png on calibration "Right Wall" on Channel 2
Displaying Walls_8640x1200.png on calibration "Left Wall" on Channel 1
Mapping of a single content to multiple calibrations
linear distributed content
Export settings for single compound
Export settings for combinding multiple compounds into one VWF file
Configuration of Screen 1 (walls)
Configuration of Screen 2 (floor)
playing back 2 contents in Exaplay timeline with appropriate screen setting & calibration
Switching to NV mode (from within "Free Mode")
Example of a seamless 360° panorama, that can be calibrated with a single fisheye camera
Overlaps should fill the screen from top to bottom
Setting custom resolution in Galaxy Viewer (for Daheng-based calibration kits)
Example of the result from a 3-channel scan. Note the margins in the calibration map due to projector masks.
The mask does not fit the actual camera position. This means, that the camera has been moved.
The camera is pushed back so that the mask aligns with the projected image again.
Drawing
Drawing
Drawing
Logo