Navigation

Ventuz 6 Quick Guide

  • Introduction
  • Getting Started
  • Ventuz Editions
  • Designer Overview
  • Ventuz System Requirements
  • Configuration
  • Video/Audio Configuration
  • Machine Configuration
  • GPI Configuration for Runtime or Director
  • Optimize Rendering Performance
  • Supported Formats
  • Supported Hardware
  • Multisampling / Anti-Aliasing
  • Input Subsystem
  • Ventuz Proprietary Files
  • What's new
  • FAQ
  • Common Mistakes
  • Deployment
  • Migration Guide
  • Ventuz 5 Migration Guide
  • Summary Shortcuts

Ventuz 6 Designer

  • Index
  • Getting Started
  • Designer Options
  • Designer Overview
Projects & Scenes
  • Projects and Scenes
  • Project Browser
  • Project Properties
  • Project Maintenance
  • Project and Scene Data
  • Scene Tree
  • Scene Management
  • Scene Statistics
  • Deployment
Interface
  • Designer Interface
  • Renderer Window
  • Realtime Rendering
  • Optimize Scene Performance
  • Performance Statistics
  • Transformation Gizmo
  • Render to Disk
  • Camera Navigation
  • Isolated Objects
  • Manipulate Objects with Gizmos
  • Layer Editor
  • Common Layer Properties
  • IPP Effects
  • Color Correction FX
  • Distortion FX
  • Filter FX
  • Layer Editor Shortcuts
  • Hierarchy Editor
  • Working with Nodes
  • Containers
  • Find and Replace
  • Shortcuts Hierarchy Editor
  • Content Editor
  • Working with Nodes
  • Containers
  • Content Editor Shortcuts
  • Toolbox
  • Property Editor
  • Project Data and Scene Data
  • Property Groups
  • Shader Editor
  • Text Editor
  • Scene Tree
  • Message View
  • Stage Editor
  • Container Outline
  • Watches Editor
  • Animation Editor
  • Animation and State Engine
  • Templates
  • Template Engine
  • Shortcuts Animation Editor
  • Text Rendering
  • Text Editor
  • Character Sets
  • Geometry Import
  • Input Subsystem
  • Multitouch
  • TUIO Protocol
  • Open Sound Control
  • How to work with Head Mounted Displays
  • Cluster
  • Multi Display Setups and Shaping
  • Warping, Soft Edging and Masking
  • Available Nodes
  • Animation Nodes
  • Material&Color Nodes
  • Data Nodes
  • Geometry Nodes
  • Interaction Nodes
  • IO Nodes
  • Layers
  • Light Nodes
  • Logic Nodes
  • Render Option Nodes
  • Slides Nodes
  • Sound Nodes
  • Text Nodes
  • Texture Nodes
  • VR Nodes
  • World Nodes

Ventuz 6 Node Reference

ANIMATION
  • Mover
  • Alternator
  • Simple Control
  • Timeline Control
  • Anmation Rig
  • Keyframe Animation
  • Animation Group
COLOR/MATERIAL
  • Alpha
  • Fog
  • Ground Fog
  • Sky Box
  • Color to RGBA
  • HSLA to Color
  • RGBA to Color
  • Color Transformer
  • HLSL Shader
  • Color
  • Material
  • Color Picker
  • Substance Material
DATA
  • Database
  • Excel
  • JSON
  • RSS Feed
  • Resource Linker
  • Text File
  • XML
GEOMETRY
  • Rectangle
  • Rounded Rectangle
  • Gradient Rectangle
  • Overlay Rectangle
  • Cube
  • Circle
  • Sphere
  • Cylinder
  • Cone
  • Torus
  • Chart
  • Random Points
  • Mesh Loader
  • Geometry Import (Live)
  • Volume
  • Get Bounding Box
  • Arrow
  • Particle System
  • Path Renderer
  • Geometry Renderer
INTERACTION
  • Interaction Rect
  • Touch Button
  • Touch Excluder
  • Touch Marker
  • Touch Paint
  • Touch Pattern
  • Touch Proxy
  • Touch Ripples
  • Touch Transformations
  • Web Browser
  • Touch Teleport
  • Touch Simulator
INPUT/OUTPUT (I/O)
  • GPI
  • Joystick
  • Keyboard
  • MIDI
  • Mouse
  • Network
  • Open Sound Control
  • Serial
  • Timecode
  • DMX
LAYER
  • 3D Layers
  • 3D Layer Reference
  • 2D Layers
  • PSD Import Layer
  • Others
LIGHT
  • Light Sources
LOGIC
  • Array Processing
  • Convert To Text
  • Cluster Synchronization
  • Counter
  • Date Time
  • Directory
  • Dispatcher
  • Enumeration
  • Expressions
  • Invert
  • Log
  • Loop Breaker
  • Math Effects
  • Matrix Operations
  • Scene Event
  • Script
  • String Operations
  • System ID
  • Text Splitter
  • Timer
  • Toggle
  • URL
  • Value Switch
  • Value Buffer
  • Variables
  • Visual Indexer
RENDER OPTIONS
  • Alpha Blending
  • Color Write
  • Alpha Testing
  • Clip Plane
  • Filter
  • Mask
  • Mirror
  • Effect
  • Render Cube Map
  • Draw Modes
  • Stencil
  • ZTesting
SOUND
  • Audio Clip
  • Sound
  • Volume Control
  • Audio Analysis
SLIDES
  • Slide Manager
  • Slide
  • Slide Port
  • Pivot
TEXT
  • Text Effects
  • Text Layouts
  • Text Rendering
TEXTURE
  • Background
  • Hatch
  • Image
  • Texture
  • SVG Loader
  • Gradient Texture
  • Live Video
  • Movie Stream
  • Movie Frame
  • Movie Clip
  • Texture Loader
  • Snapshot
  • Snapshot Framebuffer
  • Texture Saver
  • Video Source Selector
  • VIO Input
  • Spout Receiver
  • NDI Receiver
  • Substance Loader
VR/AR
  • Tracked Devices
  • Draw Tracked Devices
WORLD
  • Axis
  • Billboard
  • GetWorld
  • SetWorld
  • Arrange
  • Ticker
  • Layout
  • Group
  • World Z Sort
  • YesNo
  • Switch
  • Spread
  • Filter Pass
  • Set Pass
  • Hierarchy Container
  • Scene Port
  • Content Container
  • Template Port
  • Container Info
  • Camera
  • Paths

Ventuz 6 Configuration Editor

  • Configuration
  • Machine Configuration
  • Video/Audio Configuration
  • Web Configuration Editor and License Manager
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Supported Hardware
  • How to Setup a Cluster Render

Ventuz 6 Director

  • Application Settings
  • Assets
  • Channels
  • Command Line Options
  • Content References
  • Designing Templates
  • Environment
  • Glossary
  • Index
  • Introduction
  • Pages
  • Playlist
  • Plug-Ins
  • Project Data
  • Property Editor
  • Shortcuts
  • GPI Configuration
  • Shot Box
  • Show
  • Taking Action
  • Timeline
  • Topology
  • User Interface
  • Director Mode
  • Macros

How To

  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop workflow
  • How to use Head Mounted Displays
  • How to work with Shadows
  • How to use Emoijs
  • How to Build a Template
  • How to use Newtek NDI
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to Setup a Cluster Render
  • How to use a Mixed Frame Rate Cluster
  • How to use Tracking
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to setup Spout with Ventuz
  • How to use the Substance Integration

Keyboard Shortcuts

  • Summary Shortcuts
  • Layer Editor Shortcuts
  • Hierarchy Editor Shortcuts
  • Content Editor Shortcuts
  • Animation Editor Shortcuts
  • Director Shortcuts

Advanced and Development

  • Command Line Options
  • Remoting Overview
  • Remoting 4
  • Remoting 4 via Websockets
  • Deprecated Remoting
  • Ventuz IP Ports
  • Ventuz Machine Service
  • Remoting Machine Signature
  • TUIO
  • .NET Scripting
  • HLSL Shader Programming
  • Ventuz API and SDK
  • Ventuz VIO API
  • Ventuz File Format (VFF)
  • Ventuz Stream Out API

General Reference

  • Terminology
  • Manual Index

Miscellaneous

  • Presets
« Previous Article
» Index «
Next Article »

Matrix

Table of Contents

  1. Matrix Operation
  2. Vector Transform

Identity This node creates an identity matrix.
Zero This node creates a matrix containing only zeros.
Matrix View This node creates a View Matrix from user friendly inputs. Best used with the Camera Node.
Matrix Projection This node creates a Projection Matrix from user friendly inputs. Best used with the Camera Node.
Manual This node provides a matrix where every element can be set manually.
Rotation XYZ This node provides a matrix to rotate around the X, Y or Z axis.
Scaling This node provides a matrix to scale along the X, Y and Z axis.
Translation This node provides a matrix to translate along the X, Y and Z axis.
Transformation This node provides a matrix to transform along the X, Y and Z axis, combining the Rotation, Scaling and Translation in a single Node.
Matrix Switch This node switches between one of eight input matrices and passes it to the output.
Matrix Morph This node interpolates linearly between two input matrices.
Matrix Operation This node multiplies, divides, add or subtracts two or more 4x4 matrices.
Vector Transform This node transforms a vector (X,Y,Z,W) by a 4x4 matrix and optionally de-homogenizes the result.

The Matrix Nodes provide special types of matrices that can be used as Input Properties for the World Transformation or View and Projection of the Camera. In the following collapsed container you see an overview of the options of Projection and View Matrices.

View and Projection

Projection

Projection simulates the effect of perspective shortening (i.e. objects farther away appear smaller). This is often defined by specifying a view angle (also called field of view). When a more schematic look is required, this can also be an orthogonal instead of a perspective projection which does not have any perspective shortening at all.

Both, Field of View and Orthogonal have Center input properties X and Y that can be used to shift the center of the projection. The projection also specifies the Near and Far planes, who define the Z value of the closest and farthest point that is still rendered as part of the view frustum.

Field of View defines the camera viewing field by the angle between two opposite sides of the viewing frustum. The Fov input property specifies that angle, FovAxis specifies if those are the left and right (horizontal) or the top and bottom (vertical) sides. The angle between the other two sides is automatically calculated based on the Aspect and AspectRelation properties:

  • Relative: The Aspect property is multiplied with the aspect of the render area in the Renderer Window. With the Aspect Property set to 1 a circle will always appear round, independent of the aspect ratio of the render area. The total aspect ratio will be provided in the AspectResult output property.
  • RelativeLayer: Much like Relative, but the Aspect property is multiplied with the aspect of the current layer.
  • Fixed: The Aspect property will directly be used and the ratio of the render area ignored. The AspectResult output property will be equal to the Aspect input property.

If there is no camera node in the scene, Ventuz will use a default projection which is the equivalent of a 45 degrees Field of View projection with the aspect ratio implied by the output resolution set in the Project Properties.

Orthogonal is a special projection that has no perspective shortening at all. It is often used for schematic views or other situations where perspective shortening would be confusing. The Input Properties Width and Height define the width and height of a 3D space volume that will be displayed in the render output. The orthogonal projection basically cuts out this volume straight out of the World/View space and flattens it along the Z-axis.

Matrix can be used to set up or connect a custom projection matrix. A custom matrix could for example be calculated manually or delivered by a third party device.

View

The view matrix is responsible for simulating the position and orientation of a virtual camera. The Camera Node has different capabilities to set up the view matrix:

Pan, Tilt, Roll has position and orientation properties. So the camera can be placed in the 3D World with the X,Y and Z Position and then panned, tilted and rolled just like a real camera.

Look At is always oriented towards the Target coordinates. The camera can be moved by the X,Y and Z Position while it always looks at the specified target. Thus, the rotation is calculated automatically while the Roll can be set manually.

Orbit makes it easy to rotate the camera around a target using Yaw, Pitch and Roll. The Target's X,Y and Z Position can be set as well as the Distance from the camera to the target.

Matrix offers to use a custom view matrix. The presets zero and identity matrix can be used or modified manually or the Matrix Property can be connected to a matrix coming from for example a Matrix Node or a Script.

Matrix Operation

The Matrix Operation node is usually used to multiply matrices and thus perform a concatenation of matrix transformations. It can, however, also perform element-wise division, addition or subtraction. Each input operand as well the result matrix can be optionally inverted and/or transposed.

Matrix multiplication is a non-commutative operation and the result of multiplying A * B is in general different from B * A.

Vector Transform

The Vector Transform node can be used to multiply a vector with a matrix. This is often used to transform coordinates from one space into another. For example, an object-space coordinate can be transformed to the view-space by multiplication with the World matrix as provided by the Get World node.

Realtime 3D graphics use 4-component vectors and matrices to be able to perform operations like projection which are not possible by just using the 3 components x/y/z. Oversimplified, a homogenous coordinate w of 1 indicates that the vector represents a point in 3D space, a value of 0 indicates a direction vector and other values usually only arise as the result of multiplying a vector with a projection matrix. To get the actual result of the projection, the vector has to be de-homogenized by dividing all components by w. This is automatically done if the Dehomo property is checked.

For more information on vector transformations and spaces, the reader is referred to a linear algebra text book or introductory 3D graphics programming books like Realtime Rendering by Möller and Haines.

See also:
  • Axis nodes
  • Camera
  • Script nodes

« Previous Article
» Index «
Next Article »
Copyright 2020 Ventuz Technology