[MAXtoA] Denoising AOVs with noice


First, set up your AOVs like this:

Then run noice like this:

set IMAGES="C:\Users\Stephen Blair\Documents\3ds Max 2020\renderoutput\denoiseme"

set ARNOLD_BIN=S:\solidangle\arnold\Arnold-6.0.2.0-windows\bin

%ARNOLD_BIN%\noice ^
-ef 2 -sr 2 -pr 2 -v 0.5 ^
-i %IMAGES%/AOVs0003.exr ^
-i %IMAGES%/variance0003.exr ^
-l diffuse ^
-l specular ^
-o %IMAGES%/denoised_AOVs0003.exr 

The AOVs and variance AOVs are in separate EXRs
That’s necessary to be able to have different filters for the same AOV in MAXtoA

Tip: In the Windows command prompt, you can use ^ (Shift + 6) character to indicate line continuation, and break long commands into multiple lines. You can also use ^ in in a batch file.

[MAXtoA] Setting up an Object ID AOV


Here’s how to use the 3ds Max object ids for a simple Object ID AOV.

And here’s the material (aka shader tree) that writes the AOV. Use a text editor to save this as Arnold Scene Source (.ass) file, and then import it into 3ds Max (like I did in the video).

An ASS file is a plain-text file.

### exported: Thu May 21 07:53:19 2020
### from:     Arnold 6.0.3.0 [991b08e9] windows icc-17.0.2 oiio-2.2.1 osl-1.11.0 vdb-4.0.0 clm-1.1.1.118 rlm-12.4.2 optix-6.7.0 2020/04/17 09:11:12
### host app: MAXtoA 4.0.4.36 (2021) 3ds Max 23.0.915.2021 

aov_write_rgb
{
 name /Write_Object_ID_AOV
 aov_input /gBufID_Switch
 aov_name "object_id"
 declare nodeName constant STRING
 nodeName "Material #43"
}

switch_rgba
{
 name /gBufID_Switch
 index /gBufID
 input1 1 0 0 1
 input2 0 1 0 1
 input3 0 0 1 1
}

user_data_int
{
 name /gBufID
 attribute "gBufID"
}