While some RenderMan plugins integrate the Denoise feature, RenderMan does ship with a tool for processing images after rendering. Keep in mind that the appropriate AOVs must be included for the Denoise filter to work.
Denoising does not affect the alpha channel of images. Doing so can cause artifacts and halos to form and is therefore avoided.
Denoise can attempt to use GPU acceleration. You can activate this mode by adding
--override gpuIndex 0 to the command line, where the number indicates which GPU to use. In a single-GPU system, this will always be 0. If no compatible hardware is found it will failover to CPUs. Using the GPU requires CUDA 7.5 (compute capability 2.0 or later) and a capable graphics card with support.
Enabling GPU Denoise
Globally you can enable the GPU features by changing the .json file here: $RMANTREE/lib/denoise/default.filter.json
gpuIndex corresponds to the GPU installed to use for denoising. If -1 is used, it will use the CPU instead.
"//": "Global settings which apply across all filteres/kernels:", "filterLayersIndependently": false, "//": "If true, filters each render output using weights affected", "//": "by its color, reducing artifacts but violating additivity", "//": "and imposing a speed and memory penalty.", "//": "If false, uses the same weights for all to-be-filtered layers, ", "//": "ensuring additivity.", "splitSpecularDiffuse": true, "//": "If true, filters specular and diffuse separately", "splitSpecularDiffuseVariances": true, "//": "When splitSpecularDiffuse and the file has diffuse_var and", "//": "specular_var layers, use them.", "warpType": "linear", "//": "cross-frame warp method: linear or nearest", "gpuIndex": 0, "//": "use GPU denoising on graphics card #0",
-o name Outputs to shotCam_name.exr instead of shotCam_filtered.exr -n Output basename is based on variance image rather than to-be-filtered image --outdir dir Outputs to this directory instead of the input file's directory --filtervariance If a mix of variance and non-variance files are specified, output includes filtered version of variance's color channels too --crossframe Cross-frame sequence mode: filters across frames --skipfirst, -F Doesn't output an image for the first frame --skiplast, -L Doesn't output an image for the last frame --layers Filter only render output layers matching these names. Supports wildcards ?, *, [...]. E.g., --layers 'diffuse, specular,emission' -v name Uses motion vectors with crossframe mode. Motion vectors are located based on the variance filename, changing "/variance/" to "/<name>/", "variance." after "." or "_" to "<name>." Note that "-v variance" will use the motion vectors from the variance file itself -f configFiles Filter definition file and/or overrides. Separate multiple files with '+' or use multiple -f's. Use -H to list available files. The default baseFile.filter.json is $RMANTREE/lib/denoise/default. filter.json -H Lists all available filter config files --override key val Override a value from filter definition file. Can use multiple times. If last flag, follow with -- before input file names. Examples: --override strength 0.5 --override 'kernels.params.sigma_albedo' 0.05 --override debugPixel '[336, 209]' -t nthreads Number of threads; default is number of cores on machine -h, --help Help --version Version information
The Denoise tool comes with three filter presets:
Used to filter based on image alpha.
Used for volumes rendered alone onto transparent black.
There are also several override filter settings that can be combined with the base filters. Notice these are named as filteroverride.