...
Fog beam layer with aggregate volumes bound to ocean interior, vs final composite - Luca © Disney/Pixar
If the data source for the volumes are OpenVDB files, it is highly suggested that the VDB files be preprocessed with vdbmake
, since this will optimize time to first pixel and potentially optimize memory consumption in the case of overly modeled voumes.
Capabilities and Advantages
...
Aggregate volumes also support reading prebaked acceleration information from a volume file. When the new Attribute "volume" "int dsominmax"
is set to [1]
, the renderer can build an acceleration structure from the volume much faster using minimum and maximum values of the density that are baked into separate mipmap pyramids in the file. This results in much faster time to first pixel as the renderer no longer needs to run density shading in a preprocess upfront before shooting rays. This optimization is only possible if the volume density is not altered (increased) by shading, and if the density signal comes directly from the file. If the volume density is derived procedurally in a shader, dsominmax
should be set to 0. An exception exists: impl_openvdb
supports new controls that allow for global scaling and shaping of the density while still supporting the dsominmax
1 optimization.
vdbmake
is is a new utility shipping with the RenderMan distribution to aid in the creation of these optimized files in OpenVDB format. vdbmake
takes as input an OpenVDB file with a set of grids, and creates OpenVDB files that have auxiliary mipmapped grids and prebaked acceleration information for those grids.
...