This page provides information on the Fire rollout in the Rendering Volumetric Options dialog.

 

Page Contents

 

Overview


This roll-out controls the emissive (fire) color of the volumetric shader and the light emitted by the simulator. From here you can control the color and intensity of the emission, and also you can gradually transition between a physically correct and artistic look of the fire. Unlike the smoke color which needs an external light to become visible, fire will be visible immediately. 

 

General Parameters


 

 

Based on | earg – Specifies the source channel that will be rendered as fire. By default the Temperature channel is used.

  • Disabled - the emission component of the shader will be disabled
  • Temperature
  • Smoke
  • Speed
  • Fuel
  • Texture - the emission will be based on the texture map specified in the Texture parameter
  • RGB

? – Opens the help documents.

Texture | etxt – If Based on is set to Texture, this slot specifies the texture from which fire is rendered. This slot can also specify a texture to be used with the Modulate option.

Modulate | mod_e – Enabling this option multiplies the Based on channel by the map in the Texture slot. This is only effective when Based on is not set to Texture.

Reset to Defaults – Resets the rollout settings to their default values.

 

Light Emission Parameters


All Fire Lights options are ignored when rendering with V-Ray GPU. Enable Global Illumination from the V-Ray Settings if you need the Smoke and/or the scene to be illuminated by the fire.


When using Global Illumination (GI), the fire will illuminate everything (scene objects as well as the Simulator's own Smoke) automatically but the rendering will take longer. Turning on Create Fire Lights simulates GI by placing light sources in the bright parts of the fire, which gives similar results and renders much faster. The color and power of these lights are adjusted automatically but can be overridden.

The smoke illumination caused by the Simulator's own fire can be controlled with the Self Shadowing option. If enabled, the smoke will obstruct the path of light from the fire, creating a much more realistic look but decreasing rendering performance. To gain back the rendering speed, set Self Shadowing to Grid-based and decrease the Light Grid Resolution (%) parameter to reduce the number of generated lights.

Create Fire Lights | al_enable – When enabled, allows the fire to shine on smoke and on surrounding objects in the scene even without using Global Illumination (GI). With GI, the fire will automatically illuminate the other scene objects and the simulator's own smoke, but the rendering will take quite long. Enabling Create Fire Lights simulates GI by placing light sources in the bright parts of the fire, which produces similar results and renders much faster. 

If Create Fire Lights is enabled when rendering using GI, additional light sources will still be created by the fire at render time. You should disable Create Fire Lights if you want to let the GI naturally illuminate the scene.

Using Generate GI and Receive GI options from the V-Ray Object Properties will be ignored while Create Fire Lights is enabled.

Create Lights Even If Not Renderable | persistlights – When enabled, forces the simulator to emit light over the scene even if rendering the simulator itself is disabled. Can be used for compositing when the simulator is rendered in a separate pass.

Light Power On Self | lightsmultself – Controls the light intensity over the simulator's own smoke. This will not change the intensity and color of the fire itself; only the illumination over the smoke is affected.

Light Power On Scene | lightsmult – Controls the light intensity over all scene objects except the Phoenix FD Simulator itself.

Light Cut-off | al_cutoff – This is a V-Ray specific control that works the same as the VRayLight cutoff parameter. This parameter specifies a threshold for the light intensity, below which the light will not be computed. This can be useful to limit the effect of the Phoenix light to some distance around the simulator. Larger values cut away more light; lower values make the light range larger. At 0.0, the light will be calculated for all surfaces, but the rendering could slow down significantly.

Self-shadowing | selfshadow – Enables self-shadowing of the smoke from the fire's light. If enabled, the smoke will obstruct the path of light from the fire, creating a much more realistic look but decreasing rendering performance. To gain back the rendering speed, set Self-Shadowing to Grid-based and decrease the Light Grid Resolution (%) parameter to reduce the number of generated lights. See the Self-Shadowing example.

None – Smoke will not obstruct the light propagation and will be brightly lit.
Ray-traced – The simulator's smoke will be illuminated by the fire's light sources using precise but slow ray-tracing. Note that the fire lights always illuminate the rest of the scene using ray-tracing. This mode is physically correct and takes into account non-transparent obstacles inside the Phoenix volume, but requires intense computation and can take considerable time to render and clear the noise from the image.
Grid-based – The self-illumination of the smoke will be calculated separately from the light that the simulator casts on the scene using an approximate fast formula. While Ray-traced may produce noise, this mode has no such effect - the resulting illumination on the smoke is always smooth. However, any obstacles inside the Phoenix volume are ignored by this mode and will not cast shadows on the smoke from the simulator's own light. The Light Resolution (%) parameter can be used to lower the resolution of the light grid and further speed up the illumination process. Reducing the grid will generally produce smoother self-illumination. Note that using Grid-based self-shadowing requires additional memory, so beware of high RAM usage with high resolution grids or many copied or instanced volumes.

Decay Type | al_decay – Controls how quickly the simulator's emissive light fades when travelling away from the fire light sources:

None – The light does not fade at all unless it's obstructed.
Inverse – The light intensity fades with the inverse of the distance. E.g. at a distance of 5 units, the intensity will be 1/5th of the intensity of the emitter.
Inverse Square – The light fades with the inverse square of the traveled distance. This is the physically correct light propagation. For example, at a distance of 5 units, the intensity will be 1/25th of the intensity of the emitter.

Light Resolution (%) | gridreduct – Specifies the resolution of the light grid as a percentage of the fire grid's resolution. Perfect illumination from fire could be achieved by placing a light in each fire cell, but this could take a tremendous amount of time to render and such accuracy is usually not necessary to approximate the fire's illumination convincingly. In order to speed up rendering, a separate light grid is created internally which can have a lower resolution than the fire grid, and this light grid is populated with one Omni light per each cell. The lower resolution (and thus fewer lights) speeds up rendering at the expense of some illumination detail, which might not always be visible anyway. At a value of 100, the light grid has the same resolution as the fire grid. The smaller the Light Resolution is, the smoother the illumination becomes and the faster the rendering is. However, at very low values the fire might not blend well with the light it casts on the smoke. See the Grid Reduction example.

The Subdivisions section affects the rendering under V-Ray only. The parameters control how many rays have to be traced in order to calculate the lighting. The larger the ray count, the better looking the result will be, but it will render more slowly. For general explanation of how light sampling works, see the V-Ray Image Sampler page.

Direct | subdivs – Sampling control for direct lighting. This parameter controls the number of the rays traced from the shaded point toward the fire in order to find the optical passability between them. The number of rays cast towards the fire is the square of this value. If the value is zero, a special case is used and all emissive lights are sampled. This could be quite slow when having a big number of emissive lights.

GI | gisubdivs –Sampling control for indirect lighting. This parameter controls the number of rays traced from the fire to the scene when global illumination (GI) is calculated. For example, when using a Global Photon Map, this specifies the photon count.

Caustic | csubdivs – Sampling control for Caustic effects. Similar to GI subdivisions, but used when caustics are calculated.

Example: Self-Shadowing


 

 


Self-shadowing = None
(render time = 2 min )

 


Self-shadowing = Ray-traced
(render time = 17 min )

 


Self-shadowing = Grid-based, Light Resolution (%) = 10
(render time = 1 min )  

 

 


Example: Grid Reduction


 

 


Self-shadowing = Grid-based, Light Resolution (%) = 1
render time = 40 secs

 


Self-shadowing = Grid-based, Light Resolution (%) = 10
render time = 58 secs

 


Self-shadowing = Grid-based, Light Resolution (%) = 100 (no reduction at all)
render time = 6:39 mins

 

 


Color


 

Fire Opacity Mode | fire_opacity_mode – While smoke has its own opacity in the Smoke Opacity roll-out, the Fire opacity can be determined in either one of the following three ways:

Use Smoke Opacity – Fire will use the same opacity that is set to the smoke in the Smoke Opacity roll-out. This means the fire will not be visible in cells where there is no smoke.
Fully Visible – Fire will always render as if it has full opacity, but will not produce alpha. This way fire will be visible even in cells that have no opacity. This mode is intended for use with Phoenix simulations, such as simulations with sources that emit Temperature but do not emit Smoke. During rendering, Phoenix internally composes the fire with the scene using additive blending, and such blending must be used when compositing fire manually. However, this mode is not suitable for compositing fire mixed with smoke.
Use Own Opacity – Custom varying opacity for the fire using the Opacity diagram and/or using a texture.

Physically Based | blackbody – Transitions between an artistic look of the fire (when set to 0) and a realistic physically-based Intensity (when set to 1). The realistic mode multiplies the fire intensity by the Black Body Radiation model, which gives strong brightness to the hot parts of the fire. See the Physically Based example.

Opacity Texture Mode | mod_et –  Available only when the Fire Opacity Mode is set to Use Own Opacity.

Don't Use Opacity Texture – The Fire Opacity will be based entirely on the Color and Opacity Curve below.
Multiply Opacity By Texture – The Color and Opacity Curve will be multiplied by the specified texture to produce the final Fire Opacity.
Fire Opacity From Texture – The Fire Opacity will be based entirely on the specified texture - the Color and Opacity Curve below will be ignored.

Opacity Texture | ettxt – If Opacity Texture Mode is set to Multiply Opacity By Texture or Fire Opacity From Texture, this slot specifies the texture used to modulate the Fire Opacity.

 

Fire Multiplier | emult – General multiplier for the fire color's intensity.

Opacity Multiplier | etmult – Multiplier for the fire's own opacity when it is detached from the Smoke Opacity. Used only when the Opacity Mode is set to Use Own Opacity.

Color Gradient and Intensity/Opacity Curve


When the Based on option is set to a grid channel, this grid simulation data must be remapped to render data. The sim data channel is laid out horizontally along the X axis in the color gradient and intensity/opacity curve. The color gradient remaps the sim data from the Based on channel to fire color. The curve remaps the sim data to fire opacity (in Use Own Opacity mode), or to fire intensity otherwise. The opacity/intensity is mapped vertically on the Y axis.

 This sim data has different ranges, depending on the solver it came from - Phoenix Smoke usually goes from 0-1; Fuel goes from 0-1; Temperature is in Kelvins, so it goes from 300-2000, or a few thousand; Speed is in Voxels/sec, so it depends on the grid size and resolution, but usually goes from 0 to several hundred. Data from other solvers often differs a lot from Phoenix ranges. The channel data range is shown in the gradient and curve with a light-blue range which can change as you scroll the timeline as the temperature in a cache file rises, smoke dissipates, speed changes, etc., so keep in mind that the data range for one frame might not be representative for the entire cache sequence. You can also check the data ranges for the currently loaded cache file under the Simulation rollout of Phoenix.

Color | ecolorx_t, ecolory_t, ecolorx_s, ecolory_s, ecolorx_v, ecolory_v, ecolorx_f, ecolory_f – Controls the color of the light as a function of the selected channel's value. This color is multiplied by the Fire Multiplier to achieve the final value that will be used. The selected channel's data range will be highlighted in light blue.

Intensity | epower_t, epower_s, epower_v, epower_f – Visible when the Fire Opacity Mode is set to Use Smoke Opacity or Fully Visible. The luminance of the emitted light is determined by the function represented in the diagram control. Along the X axis is the value of the selected Based on source channel (Temperature, Fuel, etc.). The color of the light is set by the gradient control above. The selected channel's data range will be highlighted in light-blue.

Opacity | epower_t, epower_s, epower_v, epower_f – Visible only when the Fire Opacity Mode is set to Use Own Opacity. The opacity of the emitted light is determined by the function represented in the diagram control. Along the X axis is the value of the selected Based on source channel (Temperature, Fuel, etc.).

You can use the following controls in the color gradients and diagrams:

Double click – Creates a new point or changes an existing one.
Left button drag over a point
– Moves the point. If several points were selected beforehand, they will move the same amount.
Left button drag over several points
– Selects several points.
Middle button drag over the background
– Drags the visible area. If the Shift key is pressed, scales the diagram in the corresponding direction.
Mouse wheel
– Zooms in/out.
Mouse wheel near the borders of the control – Zooms in/out only along X or only along Y.
Right click
– Displays a drop-down menu where you can add a point, edit or delete a selected point, and fit the entire diagram or gradient into the view. If multiple points are selected, they can be edited simultaneously.Multiple selected points can also be scaled and flipped with the Scale Selection option as seen below.

 



Example: Physically Based


 

The Physically Based parameter can alter the apparent brightness of the fire to dial in a specific look for the fire. This example illustrates transitioning from a darker artistic look (0) to a photorealistic look (1).

Here are the settings used for the following renders:


 

 


Physically Based = 0

 


Physically Based = 0.1

 


Physically Based = 1