Color Layer | Fills the Layer with a Solid Color | |
Gradient Layer | Creates a Gradient filled Layer - The gradient can be edited and reoriented | |
Image Layer | Creates a simple Layer with an Image - for more properties choose the Texture Loader Layer | |
SVG File Layer | Creates a layer to load SVG drawings | |
SVG Text Layer | Creates a layer that is completely filled with a SVG drawing coming in as XML text | |
Movie Clip Layer | Creates a layer to load in a Movie Clip | |
Movie Frame Layer | Creates a layer to load in a Movie Clip and specify a single Frame inside the Properties | |
Movie Stream Layer | Creates a layer to load in a Streaming Video Clip like a RTSP | |
Live Video Layer | Creates a layer to show Live Video Streams - these Video Inputs have to be configured in the Ventuz Config Editor | |
Gradient Texture Layer | Creates a Gradient Layer with a Gradient Texture node attached inside the Content Editor Area | |
Texture Loader Layer | Creates a Texture Layer with a Texture Loader node attached inside the Content Editor Area | |
Texture Property Layer | Creates a Texture Property Layer only - you need to connect any source node inside the Content Editor Area | |
Spout Receiver Layer | Receives a RGBA texture via SPOUT |
The general idea to use 2D Layers, instead of applying images to a rectangle, for example, is first of all to save Performance. If you want to simply load and display Images you would preferably use a 2D Image Layer. Internally it will not generate MipMaps and applies no multisampling for the Layer.
When you select a Layer (just click the Layer), all your editing will be on the Layer Level. This will be indicated inside the Hierarchy- and Content Editor. You can spot a note inside the Hierarchy Editor and a note at the bottom of the Content Editor:
Layer Level Editing makes it possible to bind content nodes to layers. That gives you the freedom to control the layer properties and exposed properties from inside the layer on a layer level. You can use any content node inside the Content Editor. That makes it possible to have Layer to Layer bindings or control different kind of layers by multiple selections and distribute values across them.
When you select a layer, the Properties Editor will show the exposed default properties. You can gain access to more layer-specific properties by clicking the pencil on the left to the selected layer and then click the Layer Root Node inside the Content Editor. The Screenshot shows, for example, the 2d-Movie Layer with the enabled Layer Editing Mode and the Movie Clip Node which connects to the Movie Layer Root Node. To have full access to all available Movie Clips related properties you would need to click the Movie Clip Node in the Content Editor. The Properties Editor will then show ALL Properties available.
You can also create Logics inside the 2D-Layer. You simply click the pencil in front of the 2D-Layer and can create any kind of logic inside the Content Editor Area then.
All 2D-Layers share the same Common Layer Properties like Blending, Layout and so on, which will be explained at the bottom of this page.
The Color Layer will fill the whole layer with a constant color. It can be used for a simple background color. Keep in mind that this will also fill the Alpha completely! A very good technique is to use this Color Layer to colorize other layers by changing the blending.
By clicking the Color Layer thumbnail, the Color Picker floating window will pop-up and you can choose a constant color here which fills the whole Layer. For more infomation regarding the Color Picker functionality please refer to the Color Picker section of the User manual.
By selecting the Color Layer you can change and adjust properties such as Blending, Layout, Mapping and add Effects. The Layer-Specific Properties you can change are the Orientation and the TextureColor. If you click the Layer Editing Mode (Pencil) and select the Solid Layer Root Node inside the content area you can change the Texture Property Group to for example a Texture Loader. You can access here the Layer Orientation as well and change the Orientation to Flip, Rotate and Mirror.
With the Gradient Layer you can create a fullsize gradient background. Click the Gradient Thumbnail to bring up the Gradient Editor window, which is used to create and edit the Gradient used in this Layer. For more information on the Gradient Editor functionality please refer to the Gradient Editor section of the User manual. An advanced usage of the Gradient - Texture Property is to bind it to a string like in the screenshot:
You can now alter the gradient by a string instead of using a Color Picker or using the Gradient Editor. With this solution, you could change the gradient with the animation timeline. You should avoid too many changes in a short range: e.g. don't change the color every frame.
The Image Layer loads standard images and layouts them in Full Size per default. You would preferably use the Image Layer to bring images on screen because it does not generate MipMaps nor does it apply any kind of multisampling. While using the Image Layer you can adjust the Gamma and how to handle the Alpha Channel by changing the Property called TextureHint.
The TextureHint drop down menu has the following options available:
Gamma
- Not a Color is used mostly for Roughness and Specularity Material Stages since the Texture is used without any gamma conversion and these Textures are usually Grayscale. Textures loaded with this option will not be touched or converted internally into any other colorspace which is important when using the HDR-Render Mode.
- sRGB defines to use the Texture in the sRGB colorspace, which is the standard for Images, Videos and most Textures.
- Gamma2_2 loads the Texture in Gamma 2.2 which is most times needed when using Cubemaps/Environment maps in HDR. Linear loads the Texture in Gamma 1.0.
- Normal Map uses a special internal routine to blend the colors between the different MipMap stages to result in normalised Normal Vectors. This makes it possible to have Crisp and correct MipMaps.
Alpha
- Premultiply by File which detects if a premultiplication is needed.
- Preserve will never premultiply and keep the alpha as-is.
- Always will force a premultiplication.
Please keep in mind that the Image Layer does not support the Async Loading. If you need to load your images asynchronous, you would need to use the Texture Loader Layer !
The SVG Layer Nodes are able to create a Texture in the respective dimension based on an SVG File or XML Text.
Width and Height define to which dimensions the SVG File should be rasterized. If set to zero it will use the dimensions given in the SVG file.
To avoid misunderstandings: the SVG is not handled as a Geometry or Vector object but rendered to a Texture and therefore is not resolution independent!
Once loaded, the SVG Loader Node will fire the Loaded Event. If the file cannot be loaded by the SVG Loader it will fire the Failed Event.
Beside the SVG File Loader that allows to load SVG files directly, you can use the SVG Text to create an SVG from XML text.
Note that an SVG File is an XML File with a specific structure and thus can be loaded and modified with an XML File Node before using it in an SVG Text Node.
The following listing shows an example SVG that will render as the Ventuz Logo.
Example:
<svg viewBox="0 0 785.45331 240.56" height="240.56" width="785.45331" id="ventuz_svg" version="1.1" xmlns="http://www.w3.org/2000/svg"> <g transform="matrix(1.3333333,0,0,-1.3333333,0,240.56)" id="g10"> <g transform="scale(0.1)" id="g12"> <g id="g14"> <g id="g16"> <path id="l" style="fill:#f04c1d;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 388.262,1804.2 H 0 V 0 H 388.262 V 139.98 H 140 V 1664.2 h 248.262 v 140" /> <path id="V" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 839.199,370.398 398.27,1386.2 H 649.59 L 839.199,910.656 1027.32,1386.2 h 251.31 L 839.199,370.398" /> <path id="E" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1323.09,441.141 v 945.069 h 769.01 v -222.73 h -537.24 v -127.91 h 437.91 V 812.855 H 1554.86 V 663.84 H 2092.1 V 441.141 h -769.01" /> <path id="N" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 2369.82,930.23 V 441.141 H 2139.58 V 1453.94 l 564.33,-556.815 v 489.085 h 230.26 V 373.391 L 2369.82,930.23" /> <path id="T" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 3238.97,1163.48 h -255.84 v 222.72 h 743.42 V 1163.48 H 3470.72 V 441.141 h -231.75 v 722.339" /> <path id="U" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 3775.54,832.418 v 553.792 h 230.24 V 867.016 c 0,-70.246 18.06,-124.676 54.16,-163.266 36.12,-38.66 82.26,-57.941 138.47,-57.941 56.16,0 102.32,19.281 138.44,57.941 36.12,38.59 54.19,93.02 54.19,163.266 v 519.194 h 231.72 V 832.418 c 0,-112.387 -39.1,-208.207 -117.35,-287.438 -81.29,-81.281 -183.6,-121.921 -307,-121.921 -123.41,0 -224.77,40.121 -304.01,120.39 -79.25,80.27 -118.86,176.582 -118.86,288.969" /> <path id="Z" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 5069.76,1163.48 h -403.32 v 222.72 h 814.12 l -462,-722.36 h 427.43 V 441.141 h -832.24 l 456.01,722.339" /> <path id="r" style="fill:#f04c1d;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 5502.69,1804.2 h 388.25 V 0 h -388.25 v 139.98 h 248.25 V 1664.2 h -248.25 v 140" /> </g> </g> </g> </g> </svg>
Output:
There are some limitations to the Ventuz SVG Nodes.
SVG Text needs to be tested carefully since it has a lot of limitations and inaccuracies:
Embedded Images work, but not all compositing features and blending modes are supported. Online references are not recommended.
CSSs must be embedded in the SVG document to work and not all features are working.
Animations, Interactions, Filters, Effects, Clipping and Masking are not supported and do not work.
With the Movie Clip Layer you can easily load a movie and have it as full-screen. When using a Movie Clip Layer it will not be affected by the multisampling or antialiasing set in the Ventuz Config. When selecting the Movie Clip Layer the Layer Properties will show you some default properties like Audio, Volume the controls to Loop, Restart, Play, Pause to change the Orientation and to select the File. You can load a movie also by clicking the Layer Thumbnail, both will bring up the Windows File Browser. Additionally, you can choose to load a movie as a reference, this can be enabled by using the "Reference" checkbox in the File / Load dialog:
Also under Control you can find the Control Property which can be bound to a Keyframe Animation node to control the playback in the time-line of the Animation Editor.
To access all properties of the Movie Clip Layer node, use the Layer Edit Mode and select the Movie Clip Node inside the Content Editor Area.
In the lower part of the Properties Editor you can find a custom verb which is called Configure. You can configure Movie Clip related options like the Buffers.
The Movie Frame Layer is used to show a specific frame of a Movie. When you try to load a File by clicking the thumbnail of the Movie Frame Layer a drop-down menu asks you first if you want to load a Movie or a File. You can not only load a movie and display a specific frame, you are also able to load an Image sequence with the Movie Frame Layer. By using the Frame property you control which frame you want to display. You will find more properties if you enable the Layer Edit Mode and select the Movie Clip Node. There you find also the property to enable Asynchronous Loading. If you want to make use of the Image Sequence your files should have an incremental numbering next to your filename, for example: "ventuz0001.png, ventuz0002.png ...".
For more information about the Movie Frame please see the Movie Frame Node page.
In the lower part of the Properties Editor you can find a custom verb which is called Configure. You can configure Movie Clip related options like the Buffers.
The Movie Stream Layer can play back any kind of supported stream, for example, an HTTP or RTSP stream. You either need to select the Layer or expand the Layer Properties and use the URL property to enter your source for the stream. More properties can be adjusted if you use the Layer Edit Mode and select the Movie Stream Node inside the content editor. Here you can enable the AutoPlay, switch the Gamma and enable Audio. Audio is disabled by default.
In the lower part of the Properties Editor you can find a custom verb which is called Configure. You can configure Movie Clip related options like the Buffers.
The Live Video Layer offers a simple and effective way to add any configured live video to be feed into Ventuz. To use the Live Video Layer with your Webcam or SDI-Board, you would need to setup the Video Input Source in the Device Configuration. With the Live Video Layer you are able to create very quick side by side Video Feeds simply by adjusting the Layout of the layer itself. To select a specific Ordinal you can either click the Layer Icon or use the Ordinal drop down menu in the Video Property. You can Enable and Disable the Live Video by clicking the buttons in the Video Control section.
The Live Video Layer has also a Content Container node added to the Content editor.
The difference with the standard Gradient Layer is that the Gradient Texture Layer creates a Gradient Texture Node which can be accessed by entering the Layer Edit Mode and selecting the node in the Content Editor. You can edit the Gradient with the Color Gradient Editor.
By using a Convert To Text Node you can also dynamically build your own gradient to which you can bind the Gradient Property. The markup for the Expression is as follows: RGBA;c{0}:({1}, {2}, {3});c{4}:({5}, {6}, {7});a{8}:({9});a{10}({11}) This defines a Gradient with two keys for each, color and alpha. The range of all variables is from 0 to 1 The meaning of the different variables is shown in the following table:
Variable | Meaning |
!{0}, !{4} | Position of the color keys |
!{1}, !{5} | Red-Value of the color keys |
!{2}, !{6} | Green-Value of the color keys |
!{3}, !{7} | Blue-Value of the color keys |
!{8}, !{10} | Position of the Alpha keys |
!{9}, !{11} | Value of the Alpha keys |
You change the Orientation of the Gradient Texture Layer by changing the Layer Property Orientation.
The difference with the Image Layer is that the Texture Loader Layer also adds a Texture Loader Node to the Content Area. To load an image into the Layer you would need to specify it in the Texture File Property. The TextureHint is a multi-option drop-down menu used for setting how image Gamma and Alpha channel information are loaded.
The TextureHint drop down menu has the following options available:
Gamma
- Not a Color is used mostly for Roughness and Specularity Material Stages since the Texture is used without any gamma conversion and these Textures are usually Grayscale. Textures loaded with this option will not be touched or converted internally into any other colorspace which is important when using the HDR-Render Mode.
- sRGB defines to use the Texture in the sRGB colorspace, which is the standard for Images, Videos and most Textures.
- Gamma2_2 loads the Texture in Gamma 2.2 which is most times needed when using Cubemaps/Environment maps in HDR. Linear loads the Texture in Gamma 1.0.
- Normal Map uses a special internal routine to blend the colors between the different MipMap stages to result in normalised Normal Vectors. This makes it possible to have Crisp and correct MipMaps.
Alpha
- Premultiply by File which detects if a premultiplication is needed.
- Preserve will never premultiply and keep the alpha as-is.
- Always will force a premultiplication.
As mentioned before, for more advanced functionality use the Layer Edit Mode and use the Content Container created in the Content Editor. Inside the Container, you will find a Texture Property and a Texture Node connected, for more advanced functionality you can combine them with all Ventuz Content nodes. For more information regarding the Texture Loader and Texture Property nodes functionality please refer to the Texture Node section of the User manual.
As with the Texture Loader Layer above, the empty Texture Property Node can be connected to any Content Node in Ventuz Content Editor. This can be an Offscreen Render Target or any other kind of loader like the Texture Loader, Live Video Node, Movie Clip Node and so on and so forth.
The SPOUT Receiver Layer creates a Spout Receiver Node which can be accessed by entering the Layer Edit Mode and selecting the node in the Content Editor.
The SPOUT Receiver Node receives an RGBA Texture that can be bound to e.g. a Material Node.Every SPOUT Sender available is added to a List, with the Sender Name Property you can select the sender you want to receive the Texture from. In the outputs you get a list of all currently available senders. This list is updated once during initialization of the node. If needed you can update the list again using the Update Sender List Method.
Contrary to VIO, SPOUT by design is not synchronized, but with the help of the Hardsync property an attempt is made to achieve the best possible synchronicity. If Mipmaps are enabled, MipMaps will be generated for every frame to provide higher render quality especially if these textures are scaled or rotated. This feature is only available on graphics boards which support hardware mipmap generation! If Premultiply Alpha is turned on the engine will add another step to premultiply the color with the alpha - this is not needed if the received texture is already premultiplied. The Gamma Property defines how the gamma is handled:
Not a Color Textures loaded with this option will not be touched or converted internally into any other colorspace sRGB defines to use the Texture in the sRGB colorspace, which is the standard for Images, Videos and most Textures. Linear loads the Texture in Gamma 1.0.
Protocol Version Pixel semantic 2.006 RGBA
The NDI Receiver Layer creates a NDI Receiver Node which can be accessed by entering the Layer Edit Mode and selecting the node in the Content Editor.
The NDI Receiver provides the texture of a chosen NDI source together with several meta data. The Source property defines which NDI source to use - it can be provided either as a string or using the dropdown menu that is accessed by clicking the arrow on its right.
Low Bandwidth limits the input to 640x360 pixels which saves bandwitch between the source and Ventuz andis meant to be used e.g. for preview cases. Low Latency disables frame buffering that is used to stabilize the incoming framerate. If enabled it may cause stuttering on the input depending on the NDI source and the network environment, but the frames will be processed by Ventuz without any delay.
The Tally property is based on an NDI feature that enables a receiver to tell the source that it is currently used - named after the popular concept in broadcasting. Ventuz sends a signal to the source according to the configuration of the current Pipe - so when this node is used in a Program pipe it will send an on-air signal (usually red) and on a Preview pipe it will send a previewing signal (usually green).
Like in most other Texture Nodes the Mip Map property enables automatic Mipmap generation for better quality and performance when the texture is scaled down. High Color Depth enables usage of NDIs 16-bit color depth feature while doubling GPU memory and performance.
The Volume property changes the overall volume of incoming audio. The NDI Receiver node is capable of playing back on multiple outputs Ordinals.
Each of these Ordinals can be mapped to the physical stereo pairs of your machine in the Device Configuration. You can define several mappings of a stream and channel to an output ordinal by adding any number of Property Groups with the in the Property Group List inside the Property Editor. The Stream dropdown defines which stream of the File to use. For the Channels you can choose to use any single Mono Channel, two consecutive channels as Stereo Channels or to Downmix the whole stream into a single stereo signal. In the Flags property you can turn on several options: Flip L/R swaps the left and right channels if it plays back two channels as stereo. Invert left/right phase invert the polarity of either channel. And Mid/Side to Stereo converts a mid or side channel to a stereo channel. Ordinal selects the Logical Device Ordinal used for this mapping. Gain changes the sound level of this input and the Balance adjusts the playback volume between the left and right audio channel.
The Texture output provides a reference to the received texture and can be bound to any Texture input - e.g. on the Material Node.
On the output side the node provides several information about the NDI stream. Connection Meta Data outputs any information given by the source application about the connection. Frame Meta Data provides meta data for each received frame. On Preview and On Program show whether the stream is used on any of these - using the Tally concept of NDI. Web Control URL provides a URL to a Web based Control Panel if the source application provides any information on that.
Texture Width and Height provide the stream's dimensions. The State properties Connected and Active return whether the receiver is currently connected to a source and whether it is actively decoding frames.
Note that if all input properties (except the Tally and Audio properties) are the same on two or more NDI Receiver nodes they use the same internal receiver to save time for the initial connection. You can use that to open the connection to the NDI source with one node that is not rendering anything and then you can use another NDI receiver node whose texture output is used once the Active property returns true.
All layers in Ventuz feature certain properties to control how layers are sized, composited, used masks, applied effects and so on, regardless if they are 2D, 3D or other types of layers. You can find an in-depth description of all these options on this page, for references about the different types of layers in Ventuz and their specific properties, check 2D Layers, 3D Layers and Other layers.
Blending operations, including modes, opacity and masking, can be switched ON or OFF for each individual layer by left-clicking close to the Blending caption. If the check mark appears, the blending operation, including opacity, mode and mask, is calculated for the current layer. If the check mark does not appear in front of the Blending options, the blending operations are not calculated.
As with all Layer Properties, in order to expand the Blending Options, click on the little arrow. A dropdown list of the supported blending modes will appear:
With the Blending Modes you control how the pixel values of the current layer are combined with those of the layers rendered before, i.e. the layers which are above the current layer. The bottom one is always in front of the rest.
Normal: The default Blending mode. When selected, only Layer Opacity settings are taken into account to composite the layer.
Darken: Compares the color information in both the current and the layer below and selects the darker pixels. Pixels lighter than the blend color are replaced, and pixels darker than the blend color do not change.
Multiply: Checks the color information and multiplies its values in both the upper foreground and the background layer. The resulting color is always a darker color. Multiplying any color with black produces black. Multiplying any color with white leaves the color unchanged. When you’re blending with a color other than black or white, successive blends produce progressively darker colors. The effect is similar to drawing on the image with multiple marking pens.
Color Burn: Looks at the color information in each channel and darkens the base color to reflect the blend color by increasing the contrast between the two. Blending with white produces no change.
Linear Burn: Looks at the color information in each channel and darkens the base color to reflect the blend color by decreasing the brightness. Blending with white produces no change.
Darker Color: Compares the total of all channel values for the blend and base color and displays the lower value color. Darker Color does not produce a third color, which can result from the Darken blend because it chooses the lowest channel values from both the base and the blend color to create the resulting color.
Lighten: Looks at the color information in each channel and selects the base or blend color —whichever is lighter— as the resulting color. Pixels darker than the blend color are replaced, and pixels lighter than the blend color do not change.
Screen: Looks at each channel’s color information and multiplies the inverse of the blend and base colors. The resulting color is always a lighter color. Screening with black leaves the color unchanged. Screening with white produces white. The effect is similar to projecting multiple photographic slides on top of each other.
Color Dodge: Looks at the color information in each channel and brightens the base color to reflect the blend color by decreasing contrast between the two. Blending with black produces no change.
Linear Dodge (Add): Looks at the color information in each channel and brightens the base color to reflect the blend color by decreasing contrast between the two. Blending with black produces no change.
Lighter Color: Compares the total of all channel values for the blend and base color and displays the higher value color. Lighter Color does not produce a third color, which can result from the Lighten blend because it chooses the highest channel values from both the base and blend color to create the resulting color.
Overlay: Multiplies or screens the colors, depending on the base color. Patterns or color overlays the existing pixels while preserving the highlights and shadows of the base color. The base color is not replaced but mixed with the blending color to reflect the lightness or darkness of the original color.
Soft Light: Darkens or lightens the colors, depending on the blending color. The effect is similar to shining a diffused spotlight on the image. If the blend color (light source) is lighter than 50% gray, the image is lightened as if it were dodged. If the blend color is darker than 50% gray, the image is darkened as if it were burned in. Blending with pure black or white produces a distinctly darker or lighter area, but does not result in pure black or white.
Hard Light: Multiplies or screens the colors, depending on the blending color. The effect is similar to shining a harsh spotlight on the image. If the blend color (light source) is lighter than 50% gray, the image is lightened, as if it were screened. This is useful for adding highlights to an image. If the blend color is darker than 50% gray, the image is darkened, as if it were multiplied. This is useful for adding shadows to an image. Blending with pure black or white results in pure black or white.
Vivid Light: Burns or dodges the colors by increasing or decreasing the contrast, depending on the blend color. If the blend color (light source) is lighter than 50% gray, the image is lightened by decreasing the contrast. If the blend color is darker than 50% gray, the image is darkened by increasing the contrast.
Pin Light: Replaces the colors, depending on the blend color. If the blend color (light source) is lighter than 50% gray, pixels darker than the blend color are replaced, and pixels lighter than the blend color do not change. If the blend color is darker than 50% gray, pixels lighter than the blend color are replaced, and pixels darker than the blend color do not change. This is useful for adding special effects to an image.
Hard Mix: Adds the red, green and blue channel values of the blend color to the RGB values of the base color. If the resulting sum for a channel is 255 or greater, it receives a value of 255; if less than 255, a value of 0. Therefore, all blended pixels have red, green, and blue channel values of either 0 or 255. This changes all pixels to primary additive colors (red, green, or blue), white, or black.
Difference: Looks at the color information in each channel and subtracts either the blend color from the base color or the base color from the blend color, depending on which has the greater brightness value. Blending with white inverts the base color values; blending with black produces no change.
Exclusion: Creates an effect similar to but lower in contrast than the Difference mode. Blending with white inverts the base color values. Blending with black produces no change.
Subtract: Looks at the color information in each channel and subtracts the blend color from the base color. In 8- and 16-bit images, any resulting negative values are clipped to zero.
Divide: Looks at the color information in each channel and divides the blend color from the base color.
Hue: Keeps the Hue of the layer, and blends the luminance and saturation of the underlying layers (you basically get the image from the lower layer with the colors of the top layer).
Saturation: Keeps the saturation of the layer, and blends the luminosity and hue from the underlying layers—where colors from the active layer are saturated, they will appear using the luminosity and hue from the underlying layers.
Color: Keeps the color of the layer, and blends the hue and saturation (the color) of the active layer with the luminance of the lower layers.
Luminosity: Keeps the luminance of the layer, and blends it with hue and saturation of the layers below.
Linear Light: Uses a combination of the Linear Dodge blend mode on the lighter pixels, and the Linear Burn blend mode on the darker pixels.
Pass Through: Is the default Blend Mode for Layer Groups. It allows any adjustments to layers inside the group to affect layers below it. Ventuz takes all the layers inside the Group and performs the blending operations in the usual order - if you change this mode you are basically changing the order in which the layers are processed - all layers inside the group are blended first and the resulting composite is blended with the layers below with the selected blending mode for the group.
Blend mode Pass Trough applies only to Layer Groups!
Texture is not pre-multiplied: This setting forces an internal pre-multiplication of textures in certain image formats, mainly DDS when it is difficult to automatically decide if the file is pre-multiplied or not.
Control the overall Opacity of the Layer. This value is already exposed to the Layer Level.
This checkbox controls if the Layer Blending mode operation is performed or not, the main difference with switching OFF Blending operations is that the property can be bound in the Content Editor, and therefore can be used to optimize performance in complex scenes.
This checkbox is used to optimize layer performance when animating Layer Opacity, if opacity is set to 0%, and is, therefore, invisible, Ventuz will minimize any calculations pertaining to this layer to improve performance. If you Uncheck BlockedOnFullTransparency to still have touch interactions possible. For instance, you could have a Transparent 2D Layer which shrunk in size and can still send touch information.
Layer Masks allow isolating certain parts of the layer to be used for the final composite. In general, Masks use the color or alpha information to decide which image pixels will be transparent, translucent or opaque.
Ventuz features three type of masks by default: Mask, Vignette and Border. You can add as many MaskStages as you want.
You add a LayerMask if you click Click on the [+] Mask like shown on the Screenshot, and select Mask or any type of Mask Vignette / Mask Border from the dropdown menu.
Mask Property uses a texture source as the mask. When adding a mask, a new thumbnail will show the Mask appearance. Click on the Mask or click the triangle in the front to bring up the properties for the selected Layer Mask.
Each one of the Texture Source property groups provide a texture to the containing node that is used in one way or another. This page gives an overview of the different types of property groups.
The Texture Loader directly loads a texture of any supported type from file and provides it as a texture to the containing node. The File property changes the loaded image. The Hint property will change how the loaded file is handled internally while the texture is generated. See Texture Loader Node for more information on the Gamma and Alpha Hints used when loading a texture.
The Presets of this Node are specific internal Texture Files that are always available in the Ventuz Runtime.
These images can be used for several different general purposes like generic textures or placeholder and testing.
|
|
|
|
|
|
|
|
|
| ||
|
|
|
| ||
|
|
|
| ||
|
|
|
| ||
|
|
|
| ||
|
|
|
| ||
|
|
|
| ||
|
| ||||
|
|
|
| ||
|
| ||||
|
|
|
| ||
|
| ||||
|
|
|
| ||
|
|
|
| ||
These images are intended to be used by Ventuz' Image Post Processing Effects, e.g. the Lensflare effect.
|
|
|
|
|
|
|
|
|
| ||
|
| ||||
These images are best used by texture based Lighting Models and specific shaders, like e.g. the Incidence Lighting Model or the Hatch Texture Node.
|
|
|
|
|
|
|
|
|
| ||
|
|
|
| ||
|
|
|
| ||
|
|
|
| ||
|
|
|
| ||
|
|
|
|
|
|
|
|
|
| ||
|
| ||||
The Texture Property Property Group provides only an Input for any Texture coming from the scenes logic, e.g. a Texture Loader Node. This is necessary for some source types like movies but may also be useful whenever you need to apply some logic to loaded textures before applying them to objects. The Presets generate the according Content Node together with the Property Group and bind its Input Property to that new node.
The 1D Gradient generates a linear gradient. It can be edited using the Gradient Input - clicking on the down arrow on the left of the property will open up the Gradient Editor. The Vertical flag changes the alignment of the generated 1D gradient. You can also use a String node to Copy&Paste gradients from or into a gradient property, simply bind the
The SVG Loader and SVG Text Property Groups rasterize an SVG file and provide the rasterized graphic. See the SVG Loader Node for more information.
The images in this category are defaults for other kinds of texture usages, like the rasterization of SVG Files.
|
|
|
|
| |
The Texture Array Loaders are able to generate a List of Textures instead of only a single texture. This can be used by a Material with a Flipbook Control to display one of the loaded textures after another. Or you can use it with a Particle System to display a different texture for each particle using the Animation attribute of a particle.
The Flipbook Loader is able to generate an Array of Textures from the given source file. This can either be a Movie file or an Image Sequence. For best results and performance, consider the following:
Similar to the Flipbook Loader the Strip Loader will create an Array of Textures. This texture loader divides a single Image into evenly sized textures. You can define the number of textures with the CountX and Y properties and remove single slots at the end with the Reduce property. The frames are read line by line, so the first frame is at the top-left slot and the second frame is at the slot right to that.
It is used similarly to the 2D Strip Mapper of the Material Node. The difference is that the Strip Loader can be used by the Particle System to use different portions of an Image for each particle.
The images in this category can be used by the Flipbook Loaders.
|
|
|
|
| |
The QR Code node generates a QR Texture from the given text input. It can also be loaded inside a Material Stage.
In the Property Editor are more options to further change the rendering of the QR Code.
The Pixels per module property determines how much pixel will be used to render the module.
With the ECC Level (Error correction capability) it is possible to change the amount of how much error the QR Code can handle inside the texture before the generated code is not readable anymore.
ECC Level
The Dark and White color property lets the User change the corresponding color of the generated QR Texture.
The Text property is the input for the the node to generate given text as a QR Code.
For any of the above loaders, you can adjust the Amount which controls the Mask Opacity, the Sampler where you can select the filtering to be Trilinear and Adress the Border behavior. Click the Sampler and the Dropdown Menu offers you following Options for the Border Behavior:
Black: The pixels outside the area covered by the mask are turned black, meaning that there is no tiling.
White: The pixels outside the area covered by the mask are turned white, meaning that the area outside the original mask image is totally opaque.
Clamp: The pixels outside the area covered by the mask will repeat endlessly the same values as the pixels in the original image borders.
Wrap: The pixels outside the area covered by the mask are repeated or tiled as they were in the original mask image.
Mirror: The pixels outside the area covered by the mask are repeated or tiled as they were in the original mask image, but inverted like a mirror effect.
With the Channel Drop Down Menu you can select which channel should be taken for masking. The Luma (L) is the default and uses the external image Luminance as a mask, it converts the image internally into a Grayscale Image. You can select an explicit channel like R,G,B or take the Alpha as the Making source. With the Invert the source image or selected channel gets inverted.
You can Offset X/Y, Scale X/Y and change the Rotation of the mask. New pixel values are interpolated using the options selected in the Sampler dropdown menu.
The Lift, Gain and Offset can be used to do a color grading for the Mask. The values are conformed with the Standards used in the cinematography. Lift can lift up the lower colors, while it clamps also the lower color area. E.g. if you lift a dark image, lower colors gets cut off, instead of starting at 0-255, it will start with 30-255. Gain boosts the colors in the whole range, while bright pixels may also clip at 255. Offset moves the colors in respect to each other color values. It behaves like a shifting.
Random will position the Image randomly on screen and the amount of this randomness can be controlled with the Random X/Y. The Image will be positioned to a different position for every Tick, therefore you can not control the speed.
Mask Vignette can be used to darken the corners of the Layer. You can control the Radius and Fuzz to change the appearance of the vignette. Fuzz will change the blending between the dark vignette and the visible area. You can reposition with the Center X/Y values and also use Straight X/Y to change the shape of the vignette. The Straight can be used to shape the circle like vignette to a rounded rectangular shape. With the AspectStretch and Aspect value you squeeze or stretch the vignette.
Horizontal Vignette and Vertical Vignette offer the same controls as the Standard Mask. They are more like presets and have just the properties adjusted, so that either a Horizontal- or Vertical Vignette appears. The adjusted Values, in this case, are Radius, Fuzz and depending on Straight X or Straight Y.
Mask Border creates a rectangular border vignette which can be controlled and adjusted the same way as the Standard Vignette. The main difference is the Border X/Y controls. These control the border width. You will notice that you control the rounding of the border with the Radius value.
Round 2% and Square 2% are again just like presets, which have the Border X/Y set at 2% and either Radius and Fuzz set at a value or not.
The Layout parameters adjust the layer size, aspect and position. The layout can work in different ways, also called modes, each features its own properties.
Full Size keeps the Layer size always to the project settings. Switch to the Percentage if you want to adjust the Layer Size and Position in percent. For example: This mode is the fastest way to bring a Layer on-screen and off-screen, since you just need to bind the X/Y values, and animate them.
Pixels will switch the layer to be pixel accurate. Per default, it will use the Project Settings. If you started your Project in FullHD it will reflect 1920x1080. The X/Y changes the on-screen position in Pixels, keep in mind that the position is dependent on the Relation Alignment. As soon as you change the Width/Height the layer will have the set size. In the Relation dropdown you can define in which relation the pixel will be. The Relation - Layer will use the pixelspace defined in the layer itself OR if the layer is inside a Layer Group and the Layer Group has a different pixelspace it will be in relation to that Layer Group settings. Relation - Project will use the defined Format of the Project Settings. E.g. your screen is set to 1920x1080 and you resize the Renderer View the layer will still render as if it will be displayed in FullHD. Resizing the Renderer View will not affect the displayed size of your content in this case. With the Relation - Alignment settings you change the alignment of your layer which also affects the positioning values.
Aspect can be used to redefine the aspect of the Layer independently of the Format which you set in the Project Properties.
Offscreen Render Target renders the whole layer to an internal texture which you can access in the Layer - Output Properties. With the Size dropdown menu you can choose if you want to render the layer internally in Full- Half- or Quater- size. For example a 1920x1080px Layer will be 960x540px if you select Half size here. You can also adjust the internal size manually (Manual). Ventuz has some Presets, e.g. 256x256, 512x512, 1024x1024px ..., and so on. As soon as you select any manual size, you can change these values with the Width/Height to suit your needs. Per default the RenderMode is set to Always which renders the Offscreen Render Target in every frame, you can switch to Render Once, so that the Offscreen Render Target is rendered only one time. You can trigger the RenderNow to have the Offscreen Render Target rendered again. The TouchEnabled property specifies if this Layer should be taken into account by the Touch Input Processing. The only Option left is the MipMaps. If enabled the Layer will automatically create MipMaps from its texture. It consumes some performance but will enhance the quality of the Layer if scaled down.
The Mapping parameters only appear on 2D layers.
The Mapping parameters are used to edit how the texture is mapped onto the Layer. Ventuz supports various Mapping modes, each one featuring its own parameters to control the texture position, size tiling, etc..
Stretch will stretch the Texture Aspect ratio to match the layer surface Aspect ratio, hence deforming the textures original proportions. With the Underscan you scale up the texture, but keeping the texture stretched to fully cover the layer and its proportions.
Fit you scales the Texture to match the maximum bounds while keeping the aspect ratio of the original and creating a letterbox or column where there is no image. Align adds control for the texture alignment.
Crop will scale the texture to match the minimum bounds, while keeping the original aspect ratio, cutting off any part of the image that is out of bounds.
Extended allows for external logic to determine the mapping, allowing for dynamic adjustment as required during runtime. It can perform as Stretch, Fit or Crop. You change the Extended Mode with the SizeMode dropdown menu. Tiles mapping type controls how textures are repeated when they are smaller than the layer. The tiles can be fully adjusted with CenterX/Y, Scale All and Rotate. The Shear X/Y values. You can stretch the texture in both directions of the same axis at once, hence making it look like it's been sheared. When Mirror is selected the texture will be mirrored in all axis or sides instead of repeated.
Polar will cause the horizontal direction to be mapped to a circular direction. For example, a straight line across the middle becomes a circle. It is very useful when creating and working with certain graphical effects.
Smaller Amount values will divide the other Polar Distortion parameters, meaning that smaller values will interpolate between the original image and the Polar Distortion effect– this is great for animating the Polar Distortion effect as a whole. With the Inverse you toggle to control which coordinate system conversion is applied. If the default Off value is selected the effect will convert from standard Cartesian X,Y to Polar coordinate system, like the "Rect to Polar" setting in other software packages on the market. The Center X/Y values move the center of the Polar Distortion effect calculation. The units are expressed as Percentage of total Image resolution. You can Scale X/Y axis individually and/or Scale All as a whole. The Segments control a number of segments iterations created. With the Radial Scale you control the result according to the Polar coordinate system with higher values stretching pixel positions in polar directions from the Center location, while smaller values will shrink towards the center location. The Swirl is to deform the Polar Distortion as a spiral, in other words, the higher the values, the more complex the spiral created by the Polar Distortion. Scroll X/Y move the Polar Distortion segments radially in the polar X and Y axis individually. The Perspective setting forces the Polar Distortion effect to try to mimic a fake perspective - it is useful to simulate Tunnel-like effects. If you enabled the Perspective you can use Perspective Adjust and it works like if you would adjust the FOV of the perspective. The Aspect Stretch can be used to apply stretching to the Image. If turned on the Aspect is used to control the Aspect ratio or proportions of the distortion.
Kaleidoscope mimics the illusion of an optical toy for producing symmetrical patterns by multiple reflections in inclined mirrors inside a tube. This technique is primarily used for creating graphical background effects and animations.
You can relocate the Center X/Y for the Kaleidoscope, Scale X/Y and Scale All. With the Segments you change the number of instances of the original image created internally and duplicated along the polar coordinates. The Radial Scale changes the scale of the segments in the radial direction, meaning the number of segment levels to create the final kaleidoscope effect. With Bulge you apply a bulge like deformation at the center of the Kaleidoscope, meaning that kaleidoscope will be distorted radially from the center, a new level will be generated according to the values. With negative values, it will keep expanding the center deformation and positive values will compress to the deformation center. You can Rotate which works like if you would rotate the Kaleidoscope Tube. Rotate in Segments will rotate the Kaleidoscope individually, in other words, each segment will be rotated around its own rotation center. The Swirl is to deform the Kaleidoscope as a spiral, the higher the values, the more complex the spiral created by the Kaleidoscope will be - negative values work the same, just turning the spiral in the opposite direction. Scroll X/Y will move the Kaleidoscope segments radially in the polar X and Y axis individually. Toggle Perspective to activate the Perspective calculation. When turned on the Perspective Adjust can be used to control the Perspective calculation. The Aspect Stretch can be used to apply stretching to the Image. If turned on the Aspect is used to control the Aspect ratio or proportions of the Kaleidoscope.
For every layer, you can apply different kinds of effects. You can Group effects by creating Effect Groups and assigning individual Blendings and Masks.
Margin will be mostly required if you apply the dropshadow or blur effect. The Margin, which is expressed in percentage relative to the original layer size, adds a border around a nonfull-size layer. That is especially required for effects that affect a greater area than the layer itself.
Uses the same available modes like for the layer blend modes. Please see Blending modes for layers.
Uses the same available masks like for the layer masks - the exception is the additional mask self-property. Please see the Layer Masks for an overall detailed explanation.
Mask Self masks the applied effect using the Layer Color information. It renders the effect and applies the Layer itself on top of it. This can be greatly seen with the Crashzoom effect and enabled Mask Self:
If you enable the Show Effect, you will see only the effect and the applied Mask Self is ignored then.
Click the [+] Effect and add any of the effects listed below. Keep in mind that you can Group Effects! You can change the order of the effect or effect group the same way like you would do with the mask layers - simply click the arrow next to the fx stage or the cross to delete it.
For effect stages you can clone or clone with bindings.To do so Hold Right Click Hold on an effect stage for a second and a menu with these options will show up.
You can collapse or unfold effect properties by simply Right Click click an effect stage.
Creates a group of effects that will be applied together at once. It works exactly the same as the Effects Stack, so the same Effects can be added, moved, deleted and enabled inside of the Group in the same way you operate with the Effects Stack.
These effects are used to correct the color values of the layer. The available Color Correction IPP Effects are Grayscale (simple Grayscale effect), Color Grading (a standard color correction effect working with the RGB primaries), Color Correction (similar to Color Grading, but using the HSL/HSV Color model) and Gain (quick Gain color correction effect).
Please refer to the IPP Color Correction Effects section of the User Manual for additional information.
These effects filter the pixel values of each layer, changing their position, adding new elements, or even changing the opacity.
The available Filter IPP Effects are:
Mosaic: Creates a set of tiles colored according to the original color values.
Blur: Averages each pixel color values with the surrounding pixel values.
Glare : Creates a smooth halo around the brightest areas of the layer.
Crash Zoom: Is often called "God Rays".
RGB Noise: Adds a video noise-like effect.
Feedback : Creates a trail effect by blending with previous frames.
Posterize RGB: Rounds up/down pixel color values.
Posterize HSV: Posterize effect based on the HSV color mode.
Edge Detection: Detects the outline of shapes in the Layer.
Color Difference Keyer: Used to Key out the green from "green-screen material" - similar to a Chroma Keyer but uses different math.
Please refer to the IPP Filter Effects section of the User Manual for additional information.
These IPP Effects work mostly by changing the relative position of pixels in the layer.
The available Filter IPP Effects are:
Drop Shadow: 2D shadow effect based on Layer Alpha.
Lens Distortion: Replicates artifacts created by lens spatial aberrations.
Distortion: A standard distortion effect, combining most of the options available in the rest of IPP distortion effects.
RGB Distortion: Offsets and scales Layer RGB channels individually.
2D Displacement: Displaces the Layer pixels according to the Luminance information of an external file.
Noise Distortion: Uses a randomly animated texture to create a fake Noise Displacement effect.
Polar Distortion: Transposes the x and Y pixel coordinates in the original image to a Polar Coordinate system.
Kaleidoscope Distortion: Kaleidoscope pattern effect.
Please refer to the IPP Distortion Effects section of the User Manual for an overall detailed description.
These Properties may vary for the different Layer-types. The most common Property is the Orientation Property which makes it possible to Rotate the Layer in any direction or Mirror and Flip it. There are several Layer-specific properties depending on the Layer Type. The Image Layer has Properties like the TextureFile and TextureHint which controls the Gamma and Alpha loading, while for example the Constant Color Layer has a TextureColor Property. As mentioned before, each Layer Type may vary in the Layer Properties.
One important property to mention is the RenderFilter. You can chose here to have set All which is the default or explicitly set any of the available filter channels from A - H.
You can use these filter flags to have the Layer filtered from being shown on the given output. You can select on the Render Setup Editor in the outputs properties to have a RenderFilter applied - its the same range from A - H.