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 »

Alpha Blending

Table of Contents

  1. Color Write
  2. Alpha Blending Options
    1. Off
    2. Simple
    3. Advanced

Color Write Allows you to enable/disable the RGBA Channels separately.
Blending This node modifies the blending rules for superposed pixels with industry standard presets.

The Color Write and Blending Nodes are Aliases of the Material Node. They change the blending of the following geometries to the background. The Material Node has other options that are documented on the respective pages (see table below for more information).

Alpha Blending is a technique used to specify how a pixel being drawn by a triangle and the pre-existing color value in the render output are mixed. It is commonly used to simulate transparency effects, see Introduction to Realtime Rendering.

When a fragment has passed all tests (see 3D Mask Nodes , Z-Testing Node, Alpha Testing Node, Stencil Nodes), its color is applied to the render output and overwrites any value previous set by other objects. With alpha blending, the final pixel color can be a combination of both the fragment (source) pixel color and alpha as well as the pixel color and alpha in the render output (destination).

Material User Interface

General

The Material Node controls the appearance of the surface of each rendered Object placed as a child in the Hierarchy. It consists of several options that can be added to its list of properties to overwrite the according options. The options are available under Material Node's Tabs that are represented by the button bar on top of the Material Definition in the Property Editor.

Generally these tabs exist:

Standard

Alpha Options

affects the overall transparency

Lighting Model

changes how light affects the color of a surface

Material Stages

adds textures and material stages that change the shading

Shadow Options

Shadow Options

changes the shadow related behavior

Drawing Style

Draw Mode

applies a draw mode for geometries (lines, solid, sprites etc.)

Blending

Color Write

changes the write mode to specified color channels

Alpha Blending

adjusts the blending of geometries onto the background

Testing

Alpha Testing

applies a custom test against the object's alpha

ZBuffer

defines a custom occlusion test for the geometry

To show the options of a tab simply  click on the according button. You can insert options by clicking on the Property Group's entry and choosing the wanted options from the dropdown.

All options that you do not adjust in a Material node are inherited by the Default Material or the Material node in front.

Icon and Decoration

In general the Icon rendering can be changed by switching between Sphere, Quad and Torus at the bottom of the Properties Editor or via .

Based on the Property Groups that are used inside a Material Node the Icon may change.

Rendered Preview

if only Property Group's in the Standard or Shadow Options tab are used.

Rendered Preview with light blue decoration

if Property Group's in the Standard or Shadow Options tab are used together with any other Option like a certain Draw Mode or a certain Blending

Dedicated Option Icon

every Material Option has it's own dedicated Icon, that is shown whenever no other Property Group in any other tab is used.

Extraction

Material Definition

A Material node is a Hierarchy Node by nature. But it can serve as a Material Provider as well. This is useful whenever you want to use the same material in different locations of your hierarchy or once you have Hierarchy Nodes that need more materials than one applied to it (e.g. the Particle System Node). The below image shows both a Material Node and an extracted Material Node Provider together with a receiving Material Node.

You can either place the Material node in the Content Editor to create an unbound Material Provider node. Or you can use the extract button on any node that hosts a Material Definition to extract it to a provider that can be re-used on other nodes.

Material Options

Since a Material consists of several options sometimes you want to extract some of them to a seperate Hierarchy Node. This way you can apply single Material Options to other parts of the Hierarchy Tree when already added to the Material. Just use the extract buttons next to the Material Options.

Color Write

The Color Write options of the Material Node enable the user to choose which channels should be affected by the current fragment.

Alpha Blending Options

The Material Node has different ways of defining the blending of the current fragment. These can be changed with the according Property Groups. One is offering you very simple presets, the other will give you full control over the blending but is harder to handle.

Off

When set to Off the fragment will simply overwrite the destination.

Even when the Blending is set to Off the fragment will only be drawn if it has passed all tests before (occlusion test, alpha test etc.).

Simple

The Blending Node offers Presets for common used blend functions. Only a subset of the available Blending Modes on the Layer level is available inside a 3D Layer.

Preset Color Function Alpha Function Note
Overwrite SourceColor SourceAlpha Same as setting the blending to off.
Normal SourceColor + DestinationColor * (1-SourceAlpha) SourceAlpha + DestinationAlpha * (1-SourceAlpha) Blends the colors as usual - regarding the Alpha value of the current fragment.
LinearDodge (Add) SourceColor + DestinationColor SourceAlpha + DestinationAlpha * (1-SourceAlpha) Adding the color to the destination which will effectively brighten the background linearly by the current fragment.
Screen (SourceColor + DestinationColor) - (SourceColor * DestinationColor) SourceAlpha + DestinationAlpha * (1-SourceAlpha) This will multiply the inverses of color and alpha and invert it again. This results in a similar result as linear dodge as it produces a brighter image, but in contrast will not have results brighter than white. So it will not produce clamping like linear dodge (which still might make sense e.g. in HDR mode).
Subtract Rendering from Background SourceColor - DestinationColor SourceAlpha + DestinationAlpha * (1-SourceAlpha) Like linear dodge it will linearly darken the image by subtracting the source fragment from the destination.
Subtract Background from Rendering DestinationColor - SourceColor SourceAlpha + DestinationAlpha * (1-SourceAlpha) This is the reverse Subtraction that will darken the source fragment instead of the background.
Multiply SourceColor * DestinationColor SourceAlpha + DestinationAlpha * (1-SourceAlpha) Multiplying two colors will always result in a darker image - this is the reverse operation of Screen blending as it will not create clamping below 0 (black).
Multiply X2 SourceColor * DestinationColor * 2 SourceAlpha + DestinationAlpha * (1-SourceAlpha) Similar to multiply, but this will result in a darker color than the destination when the current source fragment is darker than mid-grey and in a lighter color if the source is lighter than mid-grey. Good for e.g. exaggerating bright and dark spots in the image.
Glow SourceColor + DestinationColor DestinationAlpha Similar to linear dodging but completely ignores the source alpha.

The shaders in Ventuz5 make sure the source color is pre-multiplied with the source alpha. This is why the formula for normal blending does not multiply the SourceColor with SourceAlpha, this has already happened in the shader. The same is true for all other blending modes.

Advanced

Compared to the Simple Property Group you have access to the full capability of the graphics card for greater flexibility. Both the source and destination color are treated as a 4-dimensional vector (red, green, blue, alpha) which is multiplied with a blend factor before applying the chosen operation.

color = (SourceColor * source_factor) op (DestinationColor * destination_factor)

The blend factors are selected with the Source and Destination properties:

  • One: Multiply each component by one.
  • Zero: All channels of the color are multiplied by zero
  • BlendFactor: Multiply each component by the respective component of the color specified in the BlendFactor property.
  • InverseBlendFactor: Multiply each component by the respective inverse component of the color specified in the BlendFactor property.
  • BothInverseSourceAlpha: The source color is multiplied by one minus the source alpha and the destination color is multiplied by the source alpha
  • SourceAlphaSaturated: The red, green and blue channel are multiplied with the min(alpha_source, 1 - alpha_destination), alpha is multiplied by one. This can only be used for Source and will override the value set in Destination.
  • InverseDestinationColor: Multiply each component with one minus the respective component in the destination color.
  • DestinationColor: Multiply each component with the respective component in the destination color.
  • InverseDestinationAlpha: Multiply all channels with one minus the destination alpha.
  • DestinationAlpha: Multiply all channels with the destination alpha.
  • InverseSourceAlpha: Multiply all channels with one minus the source alpha.
  • SourceAlpha: Multiply all channels with the source alpha.
  • InverseSourceColor: Multiply each component with one minus the respective component in the source color.
  • SourceColor: Multiply each component with the respective component in the source color.

The resulting vectors are combined with the Operation:

  • Add: Result = Source + Destination
  • Maximum: Result = MAX(Source, Destination)
  • Minimum: Result = MIN(Source, Destination)
  • ReverseSubstract: Result = Destination - Source
  • Substract: Result = Source - Destination

When using Maximum or Minimum as an operator, blend factors are ignored.

When SeparateAlpha is activated, a set of blend factors and operation can be used for the alpha channel that differs from the color channel. If SeparateAlpha is disabled RGB and A are using the same BlendFunction.

To recreate the presets from the Simple Blending, enable SeparateAlpha and use these settings. They are also available as presets for the Advanced Blending:

Preset Color Function Alpha Function
Overwrite (SourceColor * One) ADD (DestinationColor * Zero) (SourceAlpha * One) ADD (DestinationAlpha * Zero)
Normal (SourceColor * One) ADD (DestinationColor * InverseSourceAlpha) (SourceAlpha * One) ADD (DestinationAlpha * InverseSourceAlpha)
LinearDodge (Add) (SourceColor * One) ADD (DestinationColor * One) (SourceAlpha * One) ADD (DestinationAlpha * InverseSourceAlpha)
Screen (SourceColor * InverseDestinationColor) ADD (DestinationColor * One) (SourceAlpha * One) ADD (DestinationAlpha * InverseSourceAlpha)
Substract Rendering from Background (SourceColor * One) ReverseSubtract (DestinationColor * One) (SourceAlpha * One) ADD (DestinationAlpha * InverseSourceAlpha)
Substract Background from Rendering (SourceColor * One) Subtract (DestinationColor * One) (SourceAlpha * One) ADD (DestinationAlpha * InverseSourceAlpha)
Multiply (SourceColor * DestinationColor) ADD (DestinationColor * Zero) (SourceAlpha * One) ADD (DestinationAlpha * InverseSourceAlpha)
Multiply X2 (SourceColor * DestinationColor) ADD (DestinationColor * SourceColor) (SourceAlpha * One) ADD (DestinationAlpha * InverseSourceAlpha)
Glow (SourceColor * Onw) ADD (DestinationColor * One) (SourceAlpha * Zero) ADD (DestinationAlpha * One)

See also:
  • Material Node
  • Alpha Testing node
  • Layer Blend Modes
  • ​MSDN: Blend Factors
  • ​MSDN: Blend Operators
  • ​Wikipedia: Blend Modes

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