Houdini 21.0 Nodes Copernicus nodes

Integrate Volume Copernicus node

Integrates a VDB along camera rays.

On this page
Since 21.0

This node computes the line integral, transmittance (treating the input volume as an optical density ), minimum, or maximum value along each view ray. Use this node to see how much of a volume is present under a pixel. For example, integrate a temperature VDB to determine how much heat distortion to apply.

Parameters

Signature

The layer type that the source accepts. The output is mono when the input’s a Float VDB. The output is RGB when the input’s a Vector VDB, accumulating each channel separately along the view ray.

See Signatures for more information.

Move to Origin

Moves the output layer 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.

Operation

The value to compute along each view ray.

Integral

Integrate the input field along the view ray. This adds up the value in the VDB, sampled along the view ray.

Transmittance

Calculate the transmittance along the view ray. This treats the input volume as optical density.

Minimum

Find the minimum value along the view ray. If not hit, this is infinity.

Maximum

Find the maximum value along the view ray. If not hit, this is -infinity.

Density

Density Scale

The amount by which to scale the density. The node applies this scale after it linearly maps and applies the ramp to the density.

Min

The lower bound of the interval to linearly map to (0, 1). For each sample of the VDB, the node linearly maps the Density interval to (0, 1).

Max

The upper bound of the interval to linearly map to (0, 1). For each sample of the VDB, the node linearly maps the Density interval to (0, 1).

Ramp Mode

The transformation to perform before the node applies the ramp.

No Ramp

Don’t apply the map. This turns off the ramp.

Clamped Ramp

Clamp the remapped values to 0 and 1, respectively.

Periodic Ramp

Wrap the remapped values around at 0 and 1.

Density Ramp

The map to apply to the density after it’s linearly remapped to (0, 1).

See Ramp parameters for more information.

Quality

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.

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

When Operation is Integral or Transmittance, this is the transmittance of the accumulated portion of the ray after which to stop raymarching. A value of -1 turns this off, which may be necessary to calculate the integral of a field that doesn’t represent an optical density.

This is an optimization 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 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.

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 VDB to integrate, which is either a Float or Vector VDB.

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

result

The computed integral, transmittance, minimum, or maximum value (based on the set Operation). Each output pixel corresponds to a view ray.

See also

Copernicus nodes