Denoise renders in Houdini with Altus

Warning

Altus-Houdini is currently in BETA. If you are interesting in testing the plugin then drop us a line at support@innobright.com.

This article is under construction and will be updated.

Overview

Altus-Houdini plugin integrates the denoiser directly into Houdini as a COP node. This allows you to integrate Altus into your Houdini/Mantra workflow. The plugin takes, as inputs, two renders to generate a single high quality denoised image. This guide will explain how to setup and use the Altus-Houdini plugin.

Generally, Altus uses AOVs to enhance denoise quality and retain extra details. AOVs provide a way to render any arbitrary shaded component into different images. Typically renderers will only produce a final color for each pixel of the image, but you can break out renders into their component parts such as indirect lighting, diffuse color, reflections, shadows, mattes, etc. and save them as AOVs individually. The denoiser quality will improve with more AOVs given as inputs to Altus.

Altus Denoiser Overview

Altus Denoiser uses information from two rendered images to generate a high quality denoised image. This guide will explain how to setup and render the inputs to Altus. There are two concepts that Altus uses to generate denoised outputs:

AOVs (Arbitrary Output Variables) provide a way to render any arbitrary shaded component into different images. Typically renderers will only produce a final color for each pixel of the image (known as the beauty pass, or RGB pass), but you can break out renders into their component parts such as indirect lighting, diffuse color, reflections, shadows, mattes, etc. and save them as files individually or layers as part of a multichannel/multilayer EXR. See Recommended AOVs for more information.

Two images (called buffers) must be generated for each image. It’s important that each buffer is rendered with a different sample seed so that they will have unique noise patterns. The variance between the two buffers is what Altus uses to remove noise. Without variance, there is not enough information to remove noise. See Buffers for more information.

For information on how to run Altus once the correct inputs have been created see Usage.

Install the Plugin

Warning

Contact us at support@innobright.com for the packaged Altus-Houdini BETA plugin.

Download and unzip to your houdini’s dso folder. Default is: C:/Users/username/Documents/houdini16.0/dso, or Linux: /home/username/houdini16.0/dso depending on your version number. You should see COP2_AltusDenoiser.dll and a folder named “altus” with altus-api.dll. You should see something like this:

../../_images/files.png

Now to make Houdini recognize the library you will edit the “.env” file which is inside the houdini folder (On windows it’s inside “Documents/houdini17.0”). This file will tell Houdini where to search for libraries. For altus we need to tell Houdini to search inside the “altus” folder we extracted earlier (For Windows and Houdini 17 it should be: “C:/Users/mlidy/Documents/houdini17.0/dso/altus”).

Open the file with a text editor and add the path to the “altus” folder like this: PATH = “C:/Users/mlidy/Documents/houdini17.0/dso/altus;$PATH”. The result should look something like this:

../../_images/env_original.png

If you already see PATH in your .env file then you need to add the path to the “altus” folder before the $PATH symbol. It should look something like this:

../../_images/env_edit.png

Adding the Plugin

You can add a COP2 plugin in the Comp section. Right click on the node-graph and select “Altus Denoiser” under “custom”.

../../_images/altus_COP2_list.png

Using the Plugin

The Innobright/Altus Denoiser node takes Mantra render nodes as inputs.

You will need to add two Mantra render nodes, each with a different random render seed. This ensures that each render will generate a different noise pattern. Add as many input planes as you wish, Altus will use them to increase denoise quality.

To set the random seed goto the “Rendering” tab of the mantra node.

../../_images/mantra_random.png

To set the AOV output planes goto the “Images” tab of the mantra node. Then select the “Extra Images Planes” tab.

../../_images/mantra_node.png

This panel is where you can add AOVs for Altus to use to boost quality. We recommend the following AOVs:

AOV type Altus Input Name Houdini Image Planes Name
World Position pos Shading Position (P)
Bump Normals nrm Shading Normals (N)
Visiblity vis diffuse
Albedo alb diffuse
Reflection extra reflect or coat
Caustics cau (Optional) refract

Run the Denoiser after a Render

Once you render all dependencies Altus will begin denoising. You can view the debug information inside the Houdini Console:

../../_images/altus_COP2_node.png

Plugin Settings

Altus Filter settings:
  • k1 (Small Scale Detail): Color sensitivity at high frequency details. Low numbers give more detail, higher numbers will aggressively denoise.
  • k2 (Medium Scale Detail): Color edge sensitivity. Low numbers give more detail, higher numbers will aggressively denoise.
  • k4 (Final Pass Strength): The final pass strength to remove residual noise. Low numbers give more detail, higher numbers will aggressively denoise.
  • kf (AOV influence): The amount of influence AOV images have towards denoise quality. Low numbers give more detail, higher numbers will aggressively denoise.
  • Window Radius: The overall constraint to the filter. Larger numbers will increase quality at a cost of speed. The default of 10 is a good balance.
  • Firefly Suppressor: Helps eliminate fireflies in the input image and denoised output.
  • Denoise Quality: Toggles preview/production quality. Preview is great for iterative workflows, production gives the best results.
  • AOV Denoising: Toggles preview/production quality. Preview is great for iterative workflows, production gives the best results.
  • Enable Tiling: Enables internal tiling to reduce memory usage. Useful when using limited VRAM for GPUs.
  • Tile Size: Sets the internal tile size. Smaller will increase runtime, larger will use more memory.