CutoutVolume
Overview
The CutoutVolume allows us to define a volume that should not be visible from the camera, but that should still contribute to indirect illumination. This could be helpful if you wish to render volumes separately in order to combine them in compositing.
For example, let’s say we have a hard-surface box and a cloud volume.
In order to isolate the box without entirely removing the cloud’s indirect contribution, use a CutoutVolume, like so:
AmorphousVolume("CloudVolume") {...}
CutoutVolume("CloudVolumeCutout") {
["indirect volume"] = AmorphousVolume("CloudVolume")
}
-- in the Layer, use "CloudVolumeCutout" instead of "CloudVolume"
Attribute Reference
Volume attributes
surface_opacity_threshold
Float
default: 0.5
Accumulated opacity that's considered the 'surface' for computing surface position and Z
Volume Baking attributes
bake_divisions
Int
default: 100
Divide widest axis by this many divisions
bake_resolution_mode
Int enum
0 = “default” (default)
1 = “divisions”
2 = “voxel size”
Method to specify grid resolution of baked density grid. Choices are:
"default": For shaders that are bound to vdb volumes, use vdb resolution.
For shaders that are bounds to mesh geometries use 100 divisions
"divisions": Specify number of divisions.
"voxel size": Specify voxel size.
bake_voxel_size
Float
default: 10.0
Size of voxel in world space
General attributes
indirect_volume
Volume
default: None
The volume to cutout / use for indirect illumination and occlusion. Cutout behavior is invoked for primary rays but secondary/indirect rays are processed normally.
label
String
default:
label used in light aovs