You are here:

Lightact has a number of texture processing nodes in Layer Layouts. You can find all of them by right-clicking in Layer Layouts and opening the Texture processing category.


In this guide, we’ll explain most of them (for the sake of clarity we’ll skip the most obvious ones).

Texture add

texture add node

Texture add node stacks textures on top of one another starting from the topmost input (Background) and working its way to the input at the bottom of the node.

Texture warp

texture warp node

Texture warp warps the texture based on how you drag the warp mesh in the node’s Setup window. It is mainly used for projection mapping. The node has only one input and one output. In order to use its functionality, you have to click on the Setup button on the right-hand side.

setup button

Then you’ll see Warp setup window popup.

warp setup window

The properties on the right are as follows:

  • Edit mode: enables/disables the editing of the warp.
  • Draw helpers to texture: renders the helper mesh to the output texture.
  • Width/height determines how many rows/columns the mesh has.
  • Linear checkbox determines how the mesh is interpolated between the points. Linear has better performance, non-linear might look better.

Texture blend

texture blend mode

Texture blend node blends 2 textures together using the blending mode you choose in the node’s Properties.

texture blending modes

Available blending modes:

  • Blend: blends (interpolates between) 2 texture together based on Factor input. If Factor equals 0, Output will equal Input 1. If Factor equals 1, Output will equal Input 2.
  • Add: does the same as Texture add node, except that it takes into account the Factor input. The node multiplies Input 2 with Factor before the operation, so if Factor equals 0, Output will equal Input 1. If Factor equals 1, Output will be the same as Texture add node (proper addition of pixel values).
  • Subtract: does the opposite of Add blending mode.
  • Lighten: if Factor equals 1, the node will output the brighter pixel of the 2 inputs.
  • Darken: if Factor equals 1, the node will output the darker pixel of the 2 inputs.
  • Difference: subtracts the pixel with a larger value from the one with the smaller component-by-component. For example, if Input 2 is white and Factor is 1, the output will be inverted Input 1.
  • Multiply: multiplies the pixel components of the 2 inputs with each-other (dot product). The result is a darker image.
  • Exclusion: similar to Difference, but with a lower contrast.

In general, the blending modes, follow these principles.

Texture color grading

texture color grading

Texture color grading node performs real-time color grading of the Input texture based on Look up table (LUT) image input. For a guide on creating a LUT refer to Real-time color grading guide.

[twenty20 img1=”9705″ img2=”9736″ width=”600px” offset=”0.5″]

Texture chroma key

texture chroma key node

Texture chroma key performs chroma key operation. It is also referred to as green screen removal. The Input texture should be a texture with the green screen – or any solid color background that you’d like to remove. The Background texture is the texture that will replace the green screen. The color input is the color of the screen you’d like to remove and the Mask range represents how big of an offset from the color input is still acceptable. The node performs blending so the edge pixels are blended into the background. If Output mask is checked, the node will output the mask used for blending. For more information refer to Real-time chroma key.

If you use this image as the input:

greenScreen px

And if you use the standard beach image we are using all across this article as the Background, then you’d get the following result:

[twenty20 img1=”9705″ img2=”9741″ width=”600px” offset=”0.5″]

Texture gaussian blur

texture gaussian blur

Texture gaussian blur node blurs the texture. Kernel parameter determines how many adjacent pixels are taken into the account when determining the blur. For most cases, you can keep Kernel and Strength inputs the same.

[twenty20 img1=”9705″ img2=”9709″ width=”600px” offset=”0.5″]

Texture channel multiply

texture channel multiply

Texture channel multiply node multiplies the individual channels of the Input texture by a corresponding float input of the node. So, the red channel of the Input texture gets multiplied by the R float input, green by the G input and so on.

Texture bloom

texture bloom node

Texture bloom node creates a glowing effect. It increases the brightness and the blur of bright parts of the input image.

[twenty20 img1=”9705″ img2=”9712″ width=”600px” offset=”0.5″]

Texture dithering

texture dithering node

Texture dithering node adds dithering using a blue noise texture. It basically adds a random offset to every pixel. This is useful to eliminate color banding that sometimes appears in soft gradients.

[twenty20 img1=”9705″ img2=”9706″ offset=”0.5″ width=”600px”]

Texture edge detection

edge detection node

Texture edge detection node performs edge detection on the input texture. Step float input determines the width of the edges. The output is always a grayscale image.

[twenty20 img1=”9705″ img2=”9714″ width=”600px” offset=”0.5″]

Texture halftone

texture halftone node

Texture halftone effect transforms the Input texture into its halftone equivalent. Frequency input adjusts the size of the ovals, Angle its overall angle, Noise boolean input adds a bit of noise to the ovals thus mimicking the effect of the ink spill on a paper, and Scale adjusts the overall strength of the effect. For full effect, set it to 1.

[twenty20 img1=”9705″ img2=”9717″ width=”600px” offset=”0.5″]

Old TV look

old tv look node

Old TV look node adds Chromatic aberration, Scanlines and Vignette effects to the Input texture. This roughly mimicks the look of old cathode-ray TVs.

[twenty20 img1=”9705″ img2=”9720″ width=”600px” offset=”0.5″]

Texture opacity mask

opacity mask node

Texture opacity mask sets the alpha of the Input texture based on the average value of RGB channels of Mask texture. So, if you use this texture as the Mask:

opacityMask px

, then you’d get this effect:

[twenty20 img1=”9705″ img2=”9725″ width=”600px” offset=”0.5″]

RGB shift glitch node

RGB shift glitch node

RGB shift glitch node introduces a glitch effect to the Input texture. The effect is dynamic, so the images below really don’t do it justice.

[twenty20 img1=”9705″ img2=”9728″ width=”600px” offset=”0.5″]

Texture slice

texture slice node

Texture slice takes the values within Mask range of Channel and outputs it. If Output full is checked it will output all the valid values as full (1). If false, their true value will be output. This is useful, for example when you need to extract only certain depths from a depth map. Channel 0 and below mean red, 1 is green and 2 and above is blue. The values shown in the node image above produce the result below.

[twenty20 img1=”9705″ img2=”9731″ width=”600px” offset=”0.5″]

Blue noise stippling

blue noise stippling node

Blue noise stippling converts the Input texture to a BW Output where the shades are represented by BW dots of varying density.

[twenty20 img1=”9705″ img2=”9734″ width=”600px” offset=”0.5″]

Previous Easing functions
Next Real-time chroma key