This page provides information on the Voxel Shader component.

Overview


The Voxel Shader node is used to shade Fire/Smoke simulations and meshes in a single Simulator.

Phoenix has multiple rendering modes that can be divided into two types: Volumetrics and Surfaces. The volumetric modes are used for fire and smoke. 3ds Max materials can't be used to shade volumetrics because they don't have surfaces. Instead their shading is described in the Volumetric Options tab. Unlike the volumetric modes, in surface modes the Simulator behaves just as any regular geometry - 3ds Max materials can be applied to the Simulator and there is no need for a dedicated shader.

Rendering


Voxel Grid - Specifies the Phoenix Simulator or V-Ray Volume Grid from where the voxel grid data will be read.

Volumetric Options... – Opens the Volumetric Render settings window which contains the following rollouts:

  • Fire – Controls the emissive (fire) color of the Volumetric Shader, and the light emitted by the Simulator.
  • Smoke Color – Controls the diffuse color of the Volumetric Shader.
  • Smoke Opacity – Controls the transparency part of the Volumetric Shader.

When the Pin icon is enabled, the Volumetric Render Settings window will remain open even after deselecting the Simulator, Voxel Shader, or V-Ray Volume Grid.

The option's default state is set to "Pinned", but if you need to change its behavior, you can do so from the Phoenix FD Global Preferences menu.

Step %rendstep – Specifies the ray marching step of the camera rays as a percentage of the cell size. As the renderer traces rays through the Simulator, this value controls how often to read information from the Grid. If this value is more than 100, some cells will start getting skipped and artifacts may appear. Usually you don't need to lower this below 90%, unless you use render curves or texture maps for the Fire or Smoke opacity or color - in these cases you might need to lower the step in order to capture the details which are smaller than a voxel, otherwise these details will either be skipped or will render very noisy. However, decreasing the step will make the render slower.

Shadow Step %rendshadstep – Specifies the ray marching step of the rays used to evaluate the lighting (shadow rays) as a percentage of the Cell Size. Usually, this value can be higher than Step %, as generally shadows will not need so much detail. Increasing the Shadow Step % will also speed up rendering performance, particularly with dome and area lights.

Border Fade | borderFade – Makes the content near the Grid's boundaries more transparent to prevent sharp edges from being rendered. This parameter controls how far from the boundaries the transparent effect should start, in Scene Units.

Heat Haze | heathazehhfactor – Traces the ray changing direction according to the gradient of the Surface channel. A value of 1 corresponds approximately to the normal heat haze in the air caused by the temperature. If smoke or another channel is selected as the source, a larger value might be necessary to achieve a visible result. A value of 0 produces no heat haze.

Sampler Type | sampler – Determines the blending method between adjacent grid voxels. Used to balance between rendering speed and quality.

Box – Displays voxels as cubes. There is no blending between neighbor voxels. This is the fastest mode.
Linear – Linear blending occurs between neighbor voxels to smooth out the fluid's look. Sometimes this mode may unveil the grid-like structure of the fluid. Up to 20-30% faster than the Spherical option.
Spherical – Uses special weight-based sampling for the smoothest looking fluid. With increasing resolution, the visual advantage of this method over the Linear method becomes less noticeable.

Cutter Geometry | usegizmogizmo – When enabled, rendering will occur only inside the selected geometric object's volume. If Fire Lights are enabled, only those inside the cutter will be rendered. Note that the Cutter Geometry will not work when the Render as Geometry option is enabled.

Invert Cutter | invgizmo – When enabled, rendering will occur only outside of the render cutter. This is not the same as a cutter with inverted geometry because any rays that do not intersect the cutter will be shaded as well.

Render as Geometry | geommode – This method requires V-Ray. It produces the same result as the default Volumetric option by using procedural geometry made up from multiple transparent layers. Used when rendering Fire/Smoke for exporting deep images and Render Elements such as Normals, Velocity, Multi Matte, etc. which would not be available in default Volumetric mode. Note that enabling this option would slow down rendering.

Approximate and Approximate+Shadows options for the Scattering parameter in the Smoke Color window are not supported when Render as Geometry is enabled.

Motion Blur Mult. | mbmult – Specifies a multiplier that affects the strength of the motion blur. This value can be a negative number. 

Volumetric Motion Blur | vol_moblur_method – Specifies the type of Motion Blur that will be used.

Ray-traced – The default Volumetric Motion Blur method.
Grid-based – This method could be used instead of the default Ray-traced method in cases when you need more visible motion blur streaks, especially with faster moving fluids. The method requires a pre-pass and uses more memory.

Note that the Grid-based method only affects the Volumetric, Volumetric Geometry, and Volumetric Heat Haze Modes and it doesn't apply to Mesh, Ocean Mesh, Cap Mesh, or Isosurface Modes.


 

Displacement


Displacement is a technique intended to add detail to the simulation during the rendering. The idea of the Phoenix displacement is similar to the usual geometry displacement: a texture is sampled, and the corresponding point of the fluid volume or surface is shifted in a direction at a distance determined by the texture. You can plug any V-Ray, 3ds Max or Phoenix texture maps.

Enable | displacementdisplmul – Enables the displacement effect, and enables the use of a multiplier value to increase or decrease the overall displacement effect.

The difference between Surface driven and Vector displacement is that vector displacement can produce more complicated surfaces. For example, a wave texture in Vector mode produces waves that have a convex back side and a concave front side, in contrast with the symmetrical forms produced by Surface driven displacement.

Type | displ2d – Specifies the displacement method that will be used. 

Gradient driven – Requires a monochrome texture map. The displacement amount is the texture's brightness at each point. Each point of the fluid is shifted along the gradient of the Surface channel. This means that each point in space could have a different displacement direction. This method is suitable for smoke and fire.
Surface driven – Requires a monochrome texture map. The displacement amount is the texture's brightness at each point. Each point of the fluid is shifted along the normal of the point's projection on the isosurface of the fluid's Surface channel. The texture is also sampled at the projection point.  Unlike the Gradient driven displacement, this ensures that all points above or below the fluid surface will be displaced in the same direction, and so displacing fire/smoke simulations produces better results that are more similar to displaced solid geometry surfaces. However, the Surface driven method is slower than Gradient driven.
Vector – Requires a colored vector texture map (with negative and positive values). The point is shifted by the texture color, interpreted as a 3D vector. This displacement mode is intended to be used with the Phoenix FD Ocean Texture but can be used with any other vector displacement texture.

    • Vector displacement requires a texture which is 0.0-based, so black color means no displacement, brighter colors shift the fluid points towards the positive axes and negative colors - along the negative axes. Such a texture is the Phoenix Grid Texture with its Channel set to Velocity.

Advection – Requires a colored 0.0-based vector texture map (with negative and positive values). A very similar method to Vector, but does not produce grainy structures for fire and smoke. Can be combined with the Phoenix Grid Texture, with its Channel set to Velocity, to produce render-time gridless advection.

Map | displ2 – Specifies the displacement map. Depending on the Type option selected, a monochrome map or a color map could be required. If a colored map is specified when a monochrome map is needed, the strength of the displacement is determined by the total intensity of the color. If a monochrome map is specified when a vector map is needed, the entire displacement will point in a single direction. For more information on texture mapping in Phoenix, please check the Texture mapping, moving textures with fire/smoke/liquid, and TexUVW page.

Surface Grid Channel | sarg –  Specifies the channel that will define the surface of the fluid used for the displacement.

Texture - the values of a custom texture will define the mesh surface. You can see how this works in this How-to video.
Temperature - Temperature channel will define the fluid surface. Temperature is typically in the range 600-2000 for Fire/Smoke simulations.
Smoke - the Smoke channel will define the fluid surface. Smoke is typically in the range of 0-1 for Fire/Smoke simulations.
Speed - the Speed channel will define the fluid surface. Speed channel output has to be enabled for this to work. Speed is calculated as the length of the velocity vector for each voxel.  
Fuel - the Fuel channel will define the fluid surface. Fuel channel output has to be enabled for this to work. 

Texture | stex – If the Surface channel is set to Texture, this slot specifies the texture. For more information on texture mapping in Phoenix, please check the Texture mapping, moving textures with fire/smoke/liquid, and TexUVW page.

Isosurface Level | surflevel – Allows you to specify a threshold value for the generation of the geometry surface. Grid cells below this value will be ignored.

Render Presets... – Opens a menu for loading and saving different presets. The following options are available:

  • Load from File...
  • Save to File...
  • Default .aur Render Settings
  • Fire/Smoke .aur Fast Render
  • Fire/Smoke from FumeFX
  • Fire/Smoke .vdb from Houdini
  • Liquid .vdb from Houdini
  • Fire/Smoke .vdb from Maya Fluids
  • Fire
  • Fuel Fire
  • Gasoline Explosion
  • Explosion
  • Large Smoke
  • Candle
  • Clouds
  • Cold Smoke
  • Jet Engine