On this page | |
Since | 21.0 |
Rasterizes a volume that’s specified as density, diffuse color, emission, and emission color VDB fields. Use this node when you have a 3D object that was converted to a VDB or are creating fire in your scene. For example, wire a VDB from SOPs into the density
input or wire an emission
input for a fire workflow. This node is also useful when you have a 3D input but want a 2D object for a final composite.
Tip
Turn on Export View Continuously in the viewport camera menu while the viewport is locked to a camera to constantly run the rasterization with the changing camera input driven by the viewport camera.


The node maps each volume while being rasterized. For each sample of the VDB fields, the node linearly maps the Density interval (Min and Max) to (0, 1
). The Diffuse Color, Emission, and Emission Color fields use the Min and Max values as the interval by default. Turn on Input Range to set a different interval.
Note
Each component is mapped separately for the Diffuse Color and Emission Color ramps.
The node truncates the Diffuse Color field if the Density is smaller than the Diffuse. Emission and Emission Color are multiplied together and are independent from Density and Diffuse Color. When only emission
is wired in, the output is pure light.
Tip
To rasterize an Emission field with no Density, wire the same layer into the density
and emission
inputs and set Density Scale to 0
.
See the following examples for pyro workflows that include this node:
Parameters ¶
Signature
The layer type that the source accepts. Float VDBs are interpreted as providing the same value for all three components, prior to any remapping.
See Signatures for more information.
Move to Origin
Moves the output image to the origin.
Depth Conversion
Convert the mindepth
and maxdepth
inputs to distances from the camera from this kind of input.
Distance
Doesn’t modify the inputs since they're already distances.
Depth
The inputs are depths. These are distances projected along the forward direction of the camera, like you can get from Rasterize Geometry.
Height
The inputs are heights. These are displacements from the imaging plane toward the camera position.
Look ¶
Density ¶
Density Scale
The amount by which to multiply the remapped value. The node applies this scale after the ramp.
Min
The minimum value to use for the interval.
The Diffuse Color, Emission, and Emission Color fields use this value for the interval by default. Turn on a field’s Input Range to set a different minimum interval.
Max
The maximum value to use for the interval.
The Diffuse Color, Emission, and Emission Color fields use this value for the interval by default. Turn on a field’s Input Range to set a different maximum interval.
Mode
The transformation to perform before the node applies the ramp.
No Ramp
Linearly map the rest of the domain the same way.
Clamped Ramp
Clamp the remapped values to 0
and 1
, respectively.
Periodic Ramp
Wrap the remapped values around at 0
and 1
.
See Ramp parameters for more information.
Diffuse Color ¶
Diffuse Tint
The RGB values by which to multiply the remapped value. The node applies this scale after the ramp. This outputs more color where there’s more density since the light reflects off of the particles.
Input Range
The minimum and maximum interval to use instead of the Density interval (Min and Max).
Mode
The transformation to perform before the node applies the ramp.
No Ramp
Linearly map the rest of the domain the same way.
Clamped Ramp
Clamp the remapped values to 0
and 1
, respectively.
Periodic Ramp
Wrap the remapped values around at 0
and 1
.
See Ramp parameters for more information.
Emission ¶
Emission Scale
The amount by which to multiply the remapped value. The node applies this scale after the ramp.
Input Range
The minimum and maximum interval to use instead of the Density interval (Min and Max).
Mode
The transformation to perform before the node applies the ramp.
No Ramp
Linearly map the rest of the domain the same way.
Clamped Ramp
Clamp the remapped values to 0
and 1
, respectively.
Periodic Ramp
Wrap the remapped values around at 0
and 1
.
See Ramp parameters for more information.
Emission Color ¶
Emission Tint
The RGB values by which to multiply the remapped value. The node applies this scale after the ramp.
Input Range
The minimum and maximum interval to use instead of the Density interval (Min and Max).
Mode
The transformation to perform before the node applies the ramp.
No Ramp
Linearly map the rest of the domain the same way.
Clamped Ramp
Clamp the remapped values to 0
and 1
, respectively.
Periodic Ramp
Wrap the remapped values around at 0
and 1
.
See Ramp parameters for more information.
Quality ¶
Bake Light Fields
Bakes the light fields together before raymarching through them. This remaps the values in the VDBs before starting to raymarch. The node iterates over the density field and light field VDBs (the combination of Diffuse Color and Emission Color). Quality decreases and the output can appear more blocky when the VDB contains tiles. Turn this off if you want higher quality output.
Note
Use the VDB Visualize Tree SOP to see if tiles are in the structure of the VDB. If present, tiles are red.
When off, the node can take longer to run since the OpenCL kernel must iterate over four uncombined VDBs simultaneously, which requires more shader registers.
This parameter internally generates a new VDB to store the combined light fields. It uses the Density field’s topology as this VDB’s topology, so a density
input is always required. To render a pure Emission field, wire the same layer into the density
and emission
inputs and set Density Scale to 0
.
Multiply Diffuse with Density before Interpolation
Determines the amount of diffuse light at any point. The node finds the eight voxels that surround the sample locations in the Density field and multiply these by the corresponding voxels in the Diffuse field. The node linearly interpolates the eight voxel values at the sample location. This has higher accuracy but can be slow since the node remaps each field eight times. This can cause a difference near the boundaries of the active region of the density field since you might expect regions with zero density to not contribute any color to the final raster.
When off, the node samples the two fields at the given sample location and multiplies the interpolated values together. This is faster but has lower accuracy.
Turn this on when there are visual artifacts in the output or the density changes very quickly from inactive (0
) to a high density. This option may not make a difference for rasterizing pyro simulations because density often varies smoothly, so turn this off for better performance.
For example, consider sampling halfway between a voxel with nonzero density and an inactive density voxel. In the color field there may be some non-black color where the density field is nonzero and a black background color. If you sample halfway between these two voxels, the interpolated density is nonzero but the interpolated color is darker because it’s halfway between black and the active voxel’s color. This results in the boundary of the active region looking darker than it should. When this option is turned on, the node first multiplies the density and diffuse fields and the inactive voxels with a black color don’t contribute to the final output because they have zero density.
Integration Step Size
The length of ray slices. This is the expected distance between samples when samples are jittered.
Max Step Count
Used to prevent the OpenCL kernel from running forever or timing out. You shouldn’t need to change the 4096
value unless rastering a very deep volume.
Transmittance Cutoff
The transmittance of the accumulated portion of the ray after which to stop raymarching. A value of -1
turns this off and forces raymarching to continue until the ray exits the volume’s bounding box, though there should be no difference in the output between 0
and -1
.
This is an optimisation for when a very dense region of the volume is encountered, where almost none of the light from behind this region reaches the camera so you can stop raymarching early to save time. Due to a rounding error, it’s possible for the accumulated transmittance to reach 0 despite this not being physically possible, and this is seen when rasterizing very dense volumes.
Seed Jitter with Time
Makes the sample location jittering depend on time.
Sample Jitter Scale
The amount by which to jitter sample locations. When 0
, sample locations are always at the centre of ray slices. When 1
, sample locations can be drawn from anywhere along their respective ray slice. There is never more than one sample drawn per ray slice.
Stratification Jitter Scale
The amount by which to jitter ray slice locations. This is a single offset applied to each view ray, not per sample. When 0
, the start of ray slice #0 coincides with the ray origin. When 1
, the start of ray slice #0 varies from backward and forward along the ray by half the step length.
Inputs ¶
camera_ref
An optional camera layer that provides a position and a projection from world space to image space (see Spaces), as well as an imaging plane. This determines the view ray for each output pixel.
Note
If there’s no camera_ref
layer, the node uses the default orthographic projection (-1 to 1), which moves forward along the Z-axis like Rasterize Geometry.
density
The density field.
diffusecolor
The diffuse field.
emission
The emission scale field.
emissioncolor
The emission color field.
vieworigin
Instead of using the camera_ref
input, this layer provides a ray origin for each output pixel.
viewdir
Instead of using the camera_ref
input, this layer provides a ray direction for each output pixel.
mindepth
The raymarch minimum depth boundary.
maxdepth
The raymarch maximum depth boundary.
Outputs ¶
color
The output raster.
See also |