Houdini 20.5 Nodes VOP nodes

Pyro Shader - Classic VOP node

Flexible, production-quality fire and smoke shader.

On this page
Since 16.0

Overview

This shader can be used to create realistic renders of smoke, fire and explosion simulations or procedurally generated volumes. It is used by many of the tools on the Pyro FX shelf.

This shader relies on a set of volumes to do it’s work. Their names are set on the Smoke Field, Fire Intensity Field and Fire Temperature Field tabs. These also provide additional, fine-grained control over each a volume.

  • The Smoke Field provides the smoke density.

  • The Fire Intensity Field controls the intensity of light emitted by the fire.

  • The Fire Temperature Field is converted to the fire’s color.

Parameters

General

Provides a simple, compact interface for defining the overall look.

Smoke

Density Scale

Controls the overall density. This is multiplied with the Smoke Field's value.

The figure below shows the effect of a relative change by various factors:

Smoke Brightness

Controls the overall smoke brightness. This is multiplied with the Smoke Color and the Cd volume, if Tint Smoke Color with Cd is enabled.

The figure below shows the effect of a relative change by various factors:

Smoke Color

Controls the overall smoke color.

Tint Smoke Color with Cd

Tint the smoke’s color using a color volume.

This can either be a set of 3 volumes named Cd.x, Cd.y and Cd.z or a single VDB Vector Volume named Cd.

Scattering Phase

Controls the direction in which light entering the volume is scattered. At the default of 0, light scatters evenly in all directions (isotropic scattering). Positive values up to 1 scatter more and more in the same direction as the incoming light, Negative values down to -1 scatter backwards.

In reality, this effect depends on type of particles suspended in the volume.

The figure below shows the effect of various values on smoke lit from behind by a green light:

Fire

Enable Emission

When disabled, no light will be emitted by the rendered object.

Intensity Scale

Scales the fire’s emission intensity. This is multiplied with Fire Intensity Field's value

The figure below shows the effect of a relative change by various factors:

Temperature Scale

Scales the fire’s temperature. This is multiplied with Fire Temperature Field's value.

The fire’s color depends on it’s temperature.

The figure below shows the effect of a relative change by various factors:

Temp>Color Mapping

The method to use for mapping temperature to a color.

Constant

Ignore temperature and set a global color.

Ramp

Map temperature to color using a color ramp.

Physical (Black-Body)

Converts physical color temperatures to RGB color values and intensities, with some additional artistic controls.

Constant Color

Sets the fire color uniformly, ignoring temperature.

Input Range

Sets the range of temperatures that map to the ramp.

Ramp

The colors within the Input Range are mapped to the colors set on this ramp.

Temperature at 0 (K)

This sets the color temperature corresponding to a temperature field value of 0.0.

Temperature at 1 (K)

This sets the color temperature corresponding to a temperature field value of 1.0.

Adaptation

Manipulates the low end of the generated intensity.

Burn

Manipulates the high end of the generated intensity.

Shadows

Shadow Density

Controls the overall density of shadow’s cast by the smoke.

The figure below shows the of effect various values:

Shadow Color

The color of shadows cast by the smoke.

Filtering

Filter

The type of filter to use for field shape controls and noise.

Point

Takes a single sample, no filtering.

Box

Applies a box filter.

Gaussian

Applies a gaussian filter. Produces the smoothest results.

Scale

A scale on the width of the filter.

Smoke Field

The controls on this tab allow you to change the look of the Smoke Field. The operations are performed in the order they're listed in.

Density Volume

The name of the smoke density volume to be rendered.

Shape

Fit to Range (Unclamped)

Maps a range of input values to a different output range.

Source Range

The range of input values.

Target Range

The range of output values.

Use Lookup Ramp

Maps input values to the ramp values, giving find-grained control over the shape of the field.

Use Fit to Range to controls which range of values is used to look up the ramp.

Ramp Boundaries

How to compute the result for inputs below/above the ramp’s range.

Hold

Returns the value at the nearest end of the ramp (for example, if the ramp’s range is 0-1, and the input is -10, it will return the ramp value for 0).

Cycle

Repeats the ramp continuously outside the range.

Cycle-Accumulate

Like “Cycle”, but starts each cycle relative to the end value of the previous cycle.

Mirror

Cycles before/after the range are mirror images (reversed) of one another. The first cycle is not mirrored.

Slope

Extends a line using the slope at the beginning/end of the ramp range.

Ramp

The lookup ramp.

Contour

Increases or decreases contrast for values at the bottom of the input range. This is sometimes useful to control feathering in volume fields.

Soft Clip

Increases or decreases contrast for values at the top of the input range. This is sometimes useful to control feathering in volume fields.

Clamp at Lower Limit

Clamp values to a lower limit.

Clamp at Upper Limit

Clamp values to an upper limit.

Final Scale

A multiplier on the final value.

Noise

Enable

Whether to add any noise to this field.

Mode

Controls how the noise is applied to this field.

Offset (Field + Noise)

The noise value is added to the field value.

Scale (Field + Noise)

The field value is multiplied with the noise value.

Type

The type of noise to generate. Different algorithms give noise with different characteristics.

Fast

The default. A faster and more interesting variant of Perlin noise.

Frequency is scaled by 1.25.

Sparse Convolution

Sparse Convolution noise is similar to Worley noise. Does not have artifacts at grid points.

Frequency is scaled by 1.25.

Alligator

Produces a bumpy output. Named for its alleged resemblance to alligator skin.

Frequency is scaled by 1.64.

Perlin

A noise where the visual details are the same size. Wikipedia article

Perlin Flow

A noise that’s stable over time, like a rotated Perlin noise, useful to create noise that seems to swirl and flow smoothly across time. Use the Flow rotation parameter below to control the rotation.

Simplex

A noise similar to Perlin but the noise lattice is on a tetrahedral mesh rather than a grid. This can avoid the grid patterns often visible in Perlin noise.

Worley Cellular F1

Produces cellular features similar to plant cells, ocean waves, honeycombs, cratered landscapes, and so on. Wikipedia article

Worley Cellular F2-F1

A variant of Worley noise that produces blunted and cornered features.

Manhattan Cellular F1

A variant of Worley F1 noise that uses Manhattan distance calculation. Useful when you want unusual-looking noise.

Manhattan Cellular F2-F1

A variant of Worley F2-F1 noise that uses Manhattan distance calculation. Useful when you want unusual-looking noise.

Chebyshev Cellular F1

A variant of Worley F1 noise that uses Chebyshev distance calculation. Useful when you want unusual-looking noise.

Chebyshev Cellular F2-F1

A variant of Worley F2-F1 noise that uses Chebyshev distance calculation. Useful when you want unusual-looking noise.

Frequency

The frequency of the noise. Higher values give smaller scaled details in the noise.

Offset

The offset of the input into the noise function. If you visualize the noise as a 2D graph or 3D height field, this has the effect of “panning” across the space of possible noise outputs. If you have the general noise effect you want but just want to get a different set of values for a different look, try changing the offset.

Period

When Periodic is on, the multiple of the input range before the noise pattern repeats.

Note

If Lacunarity is not 2, successive octaves will not have matching periods so a periodic noise won’t be built.

Note

Some noise types have an implicit frequency scale that must be taken into account.

Fractal

Fractal Type

None

Does not add any additional noise on top of the basic noise.

Standard

Adds pseudo-random noise on top of the basic output.

Terrain

Adds noise like “Standard” but dampens the noise in the valleys, which can be useful for generating mountainous terrain.

Hybrid

Like terrain, but with more sharpness in the valleys.

Max Octaves

The number of iterations of distortion to add to the output of the basic noise. The more iterations you add, the more “detailed” the output. Note that the output may have fewer octaves than this parameter (that is, increasing the parameter will eventually stop adding detail), because the node eventually stops when there’s no more room to add more detail in the output.

Lacunarity

The frequency increment between iterations of fractal noise added to the basic output. Note that you can use a negative value.

Roughness

The scale increment between iterations of fractal noise added to the basic output. The higher the value the larger the “jaggies” added to the output. You can use a negative value for roughness.

Warping

Enable Lattice Warp

Adds “stringiness” or “wiriness” to standard noise.

Accumulate Lattice Warp

When Lattice Warp is on, this accumulates the warp for each iteration (octave) of added fractal noise. When used in images, this can add interesting smudgy effects, and interesting landmarks when used for terrain.

Freq

Enable Gradient Warp

Enables a slider to widen the peaks or valleys of the noise output.

Accumulate Gradient Warp

When Lattice Warp is on, this accumulates the warp for each iteration (octave) of added fractal noise. When used in images, this can add interesting smudgy effects, and interesting landmarks when used for terrain.

Flow Rotation

When Noise type is “Flow”, this controls the rotation of the “swirl”, from 0 to 1. Because this parameter is fractional, you can’t just use $F to animate it, since all integral values will look the same, representing a complete revolution. Instead, try something like $FF / 100.

Output Correction

Bias

Enables the bias controls to nudge values up or down.

Gain

Enables the gain controls to increase or decrease the contrast.

Complement

Outputs the numerical complement (1 - x) of the computed noise. Basically turns the output upside-down.

Output Range (Clamped)

Enables the New minimum and New maximum parameters to allow you to map the noise, which is normally in the [0,1] range, to a different range of values.

Final Amplitude

Scales the final conditioned output up or down.

Fire Intensity Field

The controls on this tab allow you to change the look of the Fire Intensity Field, which controls the fire’s emission intensity. The operations are performed in the order they're listed in.

Density Volume

The name of the smoke density volume to be rendered.

Shape

Fit to Range (Unclamped)

Maps a range of input values to a different output range.

Source Range

The range of input values.

Target Range

The range of output values.

Use Lookup Ramp

Maps input values to the ramp values, giving find-grained control over the shape of the field.

Use Fit to Range to controls which range of values is used to look up the ramp.

Ramp Boundaries

How to compute the result for inputs below/above the ramp’s range.

Hold

Returns the value at the nearest end of the ramp (for example, if the ramp’s range is 0-1, and the input is -10, it will return the ramp value for 0).

Cycle

Repeats the ramp continuously outside the range.

Cycle-Accumulate

Like “Cycle”, but starts each cycle relative to the end value of the previous cycle.

Mirror

Cycles before/after the range are mirror images (reversed) of one another. The first cycle is not mirrored.

Slope

Extends a line using the slope at the beginning/end of the ramp range.

Ramp

The lookup ramp.

Contour

Increases or decreases contrast for values at the bottom of the input range. This is sometimes useful to control feathering in volume fields.

Soft Clip

Increases or decreases contrast for values at the top of the input range. This is sometimes useful to control feathering in volume fields.

Clamp at Lower Limit

Clamp values to a lower limit.

Clamp at Upper Limit

Clamp values to an upper limit.

Final Scale

A multiplier on the final value.

Noise

Enable

Whether to add any noise to this field.

Mode

Controls how the noise is applied to this field.

Offset (Field + Noise)

The noise value is added to the field value.

Scale (Field + Noise)

The field value is multiplied with the noise value.

Type

The type of noise to generate. Different algorithms give noise with different characteristics.

Fast

The default. A faster and more interesting variant of Perlin noise.

Frequency is scaled by 1.25.

Sparse Convolution

Sparse Convolution noise is similar to Worley noise. Does not have artifacts at grid points.

Frequency is scaled by 1.25.

Alligator

Produces a bumpy output. Named for its alleged resemblance to alligator skin.

Frequency is scaled by 1.64.

Perlin

A noise where the visual details are the same size. Wikipedia article

Perlin Flow

A noise that’s stable over time, like a rotated Perlin noise, useful to create noise that seems to swirl and flow smoothly across time. Use the Flow rotation parameter below to control the rotation.

Simplex

A noise similar to Perlin but the noise lattice is on a tetrahedral mesh rather than a grid. This can avoid the grid patterns often visible in Perlin noise.

Worley Cellular F1

Produces cellular features similar to plant cells, ocean waves, honeycombs, cratered landscapes, and so on. Wikipedia article

Worley Cellular F2-F1

A variant of Worley noise that produces blunted and cornered features.

Manhattan Cellular F1

A variant of Worley F1 noise that uses Manhattan distance calculation. Useful when you want unusual-looking noise.

Manhattan Cellular F2-F1

A variant of Worley F2-F1 noise that uses Manhattan distance calculation. Useful when you want unusual-looking noise.

Chebyshev Cellular F1

A variant of Worley F1 noise that uses Chebyshev distance calculation. Useful when you want unusual-looking noise.

Chebyshev Cellular F2-F1

A variant of Worley F2-F1 noise that uses Chebyshev distance calculation. Useful when you want unusual-looking noise.

Frequency

The frequency of the noise. Higher values give smaller scaled details in the noise.

Offset

The offset of the input into the noise function. If you visualize the noise as a 2D graph or 3D height field, this has the effect of “panning” across the space of possible noise outputs. If you have the general noise effect you want but just want to get a different set of values for a different look, try changing the offset.

Period

When Periodic is on, the multiple of the input range before the noise pattern repeats.

Note

If Lacunarity is not 2, successive octaves will not have matching periods so a periodic noise won’t be built.

Note

Some noise types have an implicit frequency scale that must be taken into account.

Fractal

Fractal Type

None

Does not add any additional noise on top of the basic noise.

Standard

Adds pseudo-random noise on top of the basic output.

Terrain

Adds noise like “Standard” but dampens the noise in the valleys, which can be useful for generating mountainous terrain.

Hybrid

Like terrain, but with more sharpness in the valleys.

Max Octaves

The number of iterations of distortion to add to the output of the basic noise. The more iterations you add, the more “detailed” the output. Note that the output may have fewer octaves than this parameter (that is, increasing the parameter will eventually stop adding detail), because the node eventually stops when there’s no more room to add more detail in the output.

Lacunarity

The frequency increment between iterations of fractal noise added to the basic output. Note that you can use a negative value.

Roughness

The scale increment between iterations of fractal noise added to the basic output. The higher the value the larger the “jaggies” added to the output. You can use a negative value for roughness.

Warping

Enable Lattice Warp

Adds “stringiness” or “wiriness” to standard noise.

Accumulate Lattice Warp

When Lattice Warp is on, this accumulates the warp for each iteration (octave) of added fractal noise. When used in images, this can add interesting smudgy effects, and interesting landmarks when used for terrain.

Freq

Enable Gradient Warp

Enables a slider to widen the peaks or valleys of the noise output.

Accumulate Gradient Warp

When Lattice Warp is on, this accumulates the warp for each iteration (octave) of added fractal noise. When used in images, this can add interesting smudgy effects, and interesting landmarks when used for terrain.

Flow Rotation

When Noise type is “Flow”, this controls the rotation of the “swirl”, from 0 to 1. Because this parameter is fractional, you can’t just use $F to animate it, since all integral values will look the same, representing a complete revolution. Instead, try something like $FF / 100.

Output Correction

Bias

Enables the bias controls to nudge values up or down.

Gain

Enables the gain controls to increase or decrease the contrast.

Complement

Outputs the numerical complement (1 - x) of the computed noise. Basically turns the output upside-down.

Output Range (Clamped)

Enables the New minimum and New maximum parameters to allow you to map the noise, which is normally in the [0,1] range, to a different range of values.

Final Amplitude

Scales the final conditioned output up or down.

Fire Temperature Field

The controls on this tab allow you to change the look of the Fire Temperature Field, which is convert to the fire’s color. The operations are performed in the order they're listed in.

Density Volume

The name of the smoke density volume to be rendered.

Shape

Fit to Range (Unclamped)

Maps a range of input values to a different output range.

Source Range

The range of input values.

Target Range

The range of output values.

Use Lookup Ramp

Maps input values to the ramp values, giving find-grained control over the shape of the field.

Use Fit to Range to controls which range of values is used to look up the ramp.

Ramp Boundaries

How to compute the result for inputs below/above the ramp’s range.

Hold

Returns the value at the nearest end of the ramp (for example, if the ramp’s range is 0-1, and the input is -10, it will return the ramp value for 0).

Cycle

Repeats the ramp continuously outside the range.

Cycle-Accumulate

Like “Cycle”, but starts each cycle relative to the end value of the previous cycle.

Mirror

Cycles before/after the range are mirror images (reversed) of one another. The first cycle is not mirrored.

Slope

Extends a line using the slope at the beginning/end of the ramp range.

Ramp

The lookup ramp.

Contour

Increases or decreases contrast for values at the bottom of the input range. This is sometimes useful to control feathering in volume fields.

Soft Clip

Increases or decreases contrast for values at the top of the input range. This is sometimes useful to control feathering in volume fields.

Clamp at Lower Limit

Clamp values to a lower limit.

Clamp at Upper Limit

Clamp values to an upper limit.

Final Scale

A multiplier on the final value.

Noise

Enable

Whether to add any noise to this field.

Mode

Controls how the noise is applied to this field.

Offset (Field + Noise)

The noise value is added to the field value.

Scale (Field + Noise)

The field value is multiplied with the noise value.

Type

The type of noise to generate. Different algorithms give noise with different characteristics.

Fast

The default. A faster and more interesting variant of Perlin noise.

Frequency is scaled by 1.25.

Sparse Convolution

Sparse Convolution noise is similar to Worley noise. Does not have artifacts at grid points.

Frequency is scaled by 1.25.

Alligator

Produces a bumpy output. Named for its alleged resemblance to alligator skin.

Frequency is scaled by 1.64.

Perlin

A noise where the visual details are the same size. Wikipedia article

Perlin Flow

A noise that’s stable over time, like a rotated Perlin noise, useful to create noise that seems to swirl and flow smoothly across time. Use the Flow rotation parameter below to control the rotation.

Simplex

A noise similar to Perlin but the noise lattice is on a tetrahedral mesh rather than a grid. This can avoid the grid patterns often visible in Perlin noise.

Worley Cellular F1

Produces cellular features similar to plant cells, ocean waves, honeycombs, cratered landscapes, and so on. Wikipedia article

Worley Cellular F2-F1

A variant of Worley noise that produces blunted and cornered features.

Manhattan Cellular F1

A variant of Worley F1 noise that uses Manhattan distance calculation. Useful when you want unusual-looking noise.

Manhattan Cellular F2-F1

A variant of Worley F2-F1 noise that uses Manhattan distance calculation. Useful when you want unusual-looking noise.

Chebyshev Cellular F1

A variant of Worley F1 noise that uses Chebyshev distance calculation. Useful when you want unusual-looking noise.

Chebyshev Cellular F2-F1

A variant of Worley F2-F1 noise that uses Chebyshev distance calculation. Useful when you want unusual-looking noise.

Frequency

The frequency of the noise. Higher values give smaller scaled details in the noise.

Offset

The offset of the input into the noise function. If you visualize the noise as a 2D graph or 3D height field, this has the effect of “panning” across the space of possible noise outputs. If you have the general noise effect you want but just want to get a different set of values for a different look, try changing the offset.

Period

When Periodic is on, the multiple of the input range before the noise pattern repeats.

Note

If Lacunarity is not 2, successive octaves will not have matching periods so a periodic noise won’t be built.

Note

Some noise types have an implicit frequency scale that must be taken into account.

Fractal

Fractal Type

None

Does not add any additional noise on top of the basic noise.

Standard

Adds pseudo-random noise on top of the basic output.

Terrain

Adds noise like “Standard” but dampens the noise in the valleys, which can be useful for generating mountainous terrain.

Hybrid

Like terrain, but with more sharpness in the valleys.

Max Octaves

The number of iterations of distortion to add to the output of the basic noise. The more iterations you add, the more “detailed” the output. Note that the output may have fewer octaves than this parameter (that is, increasing the parameter will eventually stop adding detail), because the node eventually stops when there’s no more room to add more detail in the output.

Lacunarity

The frequency increment between iterations of fractal noise added to the basic output. Note that you can use a negative value.

Roughness

The scale increment between iterations of fractal noise added to the basic output. The higher the value the larger the “jaggies” added to the output. You can use a negative value for roughness.

Warping

Enable Lattice Warp

Adds “stringiness” or “wiriness” to standard noise.

Accumulate Lattice Warp

When Lattice Warp is on, this accumulates the warp for each iteration (octave) of added fractal noise. When used in images, this can add interesting smudgy effects, and interesting landmarks when used for terrain.

Freq

Enable Gradient Warp

Enables a slider to widen the peaks or valleys of the noise output.

Accumulate Gradient Warp

When Lattice Warp is on, this accumulates the warp for each iteration (octave) of added fractal noise. When used in images, this can add interesting smudgy effects, and interesting landmarks when used for terrain.

Flow Rotation

When Noise type is “Flow”, this controls the rotation of the “swirl”, from 0 to 1. Because this parameter is fractional, you can’t just use $F to animate it, since all integral values will look the same, representing a complete revolution. Instead, try something like $FF / 100.

Output Correction

Bias

Enables the bias controls to nudge values up or down.

Gain

Enables the gain controls to increase or decrease the contrast.

Complement

Outputs the numerical complement (1 - x) of the computed noise. Basically turns the output upside-down.

Output Range (Clamped)

Enables the New minimum and New maximum parameters to allow you to map the noise, which is normally in the [0,1] range, to a different range of values.

Final Amplitude

Scales the final conditioned output up or down.

See also

VOP nodes