Houdini 21.0 Nodes Copernicus nodes

Rasterize Volume Copernicus node

Renders a volume viewed through a camera.

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.

Before and after using the Rasterize Volume node.

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

Copernicus nodes