VIOSO 6
Exaplay Documentation
  • Welcome to VIOSO 6
  • Changelog and Version History
  • System Preparation
    • Operating System
      • Visual Studio Runtime
      • DirectX Runtime
    • Graphics cards
      • Display Adaptors
      • NVIDIA RTX/Quadro Setup
        • Find and install NVIDIA Drivers
        • EDID Emulation
        • 3D Settings for video playback
        • NVIDIA Mosaic
        • Output Synchronization
      • Others/onBoard GPUs
      • Expanders
    • Network
      • setup a network of fixed IPs
      • firewall configuration
      • camera network
      • remote access via LAN and internet
      • Network settings in VIOSO 6
    • Camera
      • Webcams
      • VIOSO Camera kits
        • Configuring Daheng Cameras
        • Configuring HIK Vision Cameras
        • Configuring IDS Imaging Cameras
      • SLR Cameras via USB connection
      • Other IP-cameras (IP, cctv etc)
    • Projectors
      • Blacklevel explained
    • Deploy VIOSO 6
      • Licensing
        • License information
        • Demo License
        • License Activation
        • License Transfer
        • Maintenance
      • First Init & Autostart
      • Updating VIOSO 6
  • Getting Started
    • Testpattern
    • Project Mode vs. Free Mode
    • Free Mode
      • Multiclient Configuration (Abstract Displays)
      • 3D Model Handling
    • Project Mode
      • Project Creation
      • Designer
  • Calibration
    • Scanning
      • Device Selection
      • Camera adjustment
        • Webcams / DirectShow devices
        • Using Daheng Cameras within VIOSO 6
        • Using HIK Vision Cameras within VIOSO 6
        • Camera Masking (Region of interest)
      • Projector masking
      • Scanning projectors
      • Scan Result
    • Content Mapping
      • 3D Mapping
        • 3D Mapping parameters
        • 3D Mapping in Freemode
      • 2D Warp
    • Blending & Global Adjustments
    • Adjust Projectors
  • USING CALIBRATIONS
    • Integrated Videoplayer
    • Export to Exaplay
    • Export to any application
    • Desktop Embedding
    • Real-time Engines
      • Unity3D
      • Unreal Engine
        • UE Examples & Sample files
      • MiddleVR
      • Techviz
    • VIOSO WarpBlend API
      • VIOSOWarpBlend.ini Reference
  • STEP BY STEP GUIDES
    • Calibration for common media servers
      • AV Stumpfl Pixera
        • Pixera v.2
          • Project Mode Walkthrough
          • Free Mode Walkthrough
        • Pixera v.1
      • Dataton Watchout
        • Watchout v.7
        • Watchout v.6
      • Ioversal Vertex
      • 7th Sense Delta Server
      • Christie Pandoras Box
      • Derivative TouchDesigner
      • BrightSign
  • Typical Calibration Workflows
    • Immersive Rooms (free mode)
    • Cylindrical Panorama with fisheye camera (project mode)
    • 3D calibration in VIOSO 6 free mode
  • References
    • Command Line Reference
    • Remote Control Reference
    • Export Automation Reference
    • Scripting for VIOSO applications
  • Tools
    • Configure Mosaic
  • Knowledgebase
    • FAQ
Powered by GitBook
On this page
  • Example .ini file
  • About the base-matrix and eye-vector
Export as PDF
  1. USING CALIBRATIONS
  2. VIOSO WarpBlend API

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.

configuration parameter
default value
comment

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

Example .ini file

[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

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:

R11
R12
R13
0

R21

R22

R23

0

R31

R32

R33

0

tx

ty

tz

1

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.

PreviousVIOSO WarpBlend APINextCalibration for common media servers

Last updated 8 months ago