---
title: "Liquid Rendering"
canonical: "https://documentation.chaos.com/space/PHX4MAYA/125737010/Liquid%20Rendering"
format: markdown
---
This page provides general information about the Rendering rollout of Chaos Phoenix.

## **Overview**

---

The rendering process in Chaos Phoenix is separated from the simulation process, because simulated caches contain only simulation data, and no render settings.

However, for ease of use, the Liquid Simulator object also contains a Rendering rollout, which provides flexible options for rendering the simulator grid's content.

The Rendering rollout offers multiple render modes, that can be divided into two types: **Surfaces** and **Volumetric**.

> Macro (ui-text-box)
> 
> Liquid simulations are typically rendered using one of the surface render modes. Meanwhile, volumetric modes are typically used for rendering fire and smoke.

**Surface render modes** generate a mesh surface, which is based on the channel specified in the **[Surface Channel](https://docs-chaos.atlassian.net/wiki/spaces/PHX3MAYA4EDIT/pages/117277102)** parameter.

This is especially useful for liquid simulations, where by default, the **Grid Temperature/Liquid Channel **is exported during simulation, which enables the simulator to voxelize **Liquid Particles** into a **Grid** **Channel**. This way, Liquid Particles can be used to indirectly generate a liquid surface, that can be rendered as a mesh using one of the surface render modes, such as **Mesh**, **Isosurface**,** Cap Mesh **or **Ocean Mesh**.

The meshed liquid then behaves just like any regular geometry, meaning you can assign Maya or V-Ray materials to the Simulator, and there is no need for a dedicated shader. The Rendering rollout also contains additional controls for this meshing process, to customize the appearance of the surface.

> Macro (ui-text-box)
> 
> Since Phoenix is very flexible, it also enables you to render liquid simulations using a volumetric render mode, to create more advanced types of effects.

> Macro (ui-text-box)
> 
> When rendering as a mesh, Liquid Particles are shaded by a material assigned to the Liquid Simulator object.
> 
> However, **secondary effect particles** such as **Foam**, **Splash**, **Mist** and **WetMap** particles must be shaded using the Phoenix [Particle Shader](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125830144).
> 
> The Particle Shader can shade a specified Particle System as either Points, Bubbles, Cellular, Splashes, or Fog, depending on the mode you select. Note that Phoenix also provides you with the option to create nParticles from a Phoenix Particle Group, and apply a material.

For even more advanced control over the shading, you can use the [Phoenix Grid Texture](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125731978). It reads from the simulation’s Grid Channels to generate a procedural texture, which can then be used to shade the simulation wherever colors are needed. The Grid Texture can be used with the volume shader to color or modulate the opacity of Fire and Smoke, using any of the supported Grid Channels (Smoke, Speed, RGB, etc.).

It can also be plugged into the texture slots of a material. For example, if you want to mix together liquids with multiple **RGB colors** emitted from different [Liquid Sources](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125895877), the Grid Texture can be used to read and transfer the RGB colors to the Liquid mesh's material for shading.

Similarly, a [Phoenix Particle Texture](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125961145) can be used to read particles and color their positions. When used to read **WetMap **particles, it can act as a mask to blend between two materials, for example, a wet material and a dry surface material. This way, geometry covered by WetMap particles can appear wet, and the rest of the geometry can appear dry.

> Macro (ui-text-box)
> 
> For a list of supported Render Elements, please check the [V-Ray Render Elements Support](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125963190) page.
> 
> You may also check the [Volumetric Rendering In-Depth](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/126028820) guide for tips on speeding up the rendering of volumetric effects with V-Ray.

> Macro (ui-text-box)
> 
> UI Path: ||Select [PhoenixFDSim](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125765148)|| **> Attribute Editor > Rendering rollout**


## **Parameters**

---

> Macro (ui-text-box)
> 
> Render settings are not stored within the caches themselves, so if you want to save your render settings to use with another Simulator or project, you can do so from the [Liquid Presets](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/126289195) rollout.


![image](media://40db8aff-1ad3-438f-a6e3-c547626d7417)


**Enable Rendering **| *render* – Enables/disables the rendering of the simulator.

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

- Default Phoenix Render Settings;
- Fire/Smoke from FumeFX;
- Fire/Smoke .vdb from Houdini;
- Liquid .vdb from Houdini;
- Fire/Smoke .vdb from Maya Fluids.

> Macro (anchor)

**Render Mode **|** *****rendMode***** **– Specifies the method for visualizing the grid content. For fire/smoke, you will want to select a Volumetric method. For liquids, select a geometry method.

**Volumetric** – Visualizes the content similar to a [VRayEnvironmentFog](https://docs.chaosgroup.com/display/VRAY4MAYA/VRayEnvironmentFog). This method is used mostly for fire and smoke.  
> Macro (anchor)

**Volumetric Geometry** – This method requires V-Ray. It produces the same result as the **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 **Volumetric** mode. For more information on which render elements are supported in **Volumetric** and **Volumetric Geometry** mode, see [V-Ray Render Elements Support](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125963190).

> Macro (ui-text-box)
> 
> **Approximate** and **Approximate+Shadows **options for the **Scattering** parameter in the [Smoke color](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/126060985) window are not supported in **Volumetric Geometry** mode.
> 
> For a complete list of the supported **Render Elements** in both Volumetric and Volumetric Geometry mode, please check the [V-Ray Render Elements Support](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125963190) page.

**Volumetric Heat Haze** – This method requires V-Ray. It produces the same result as the **Volumetric Geometry** option, and also adds a heat haze effect when used with the **Heat Haze** parameter. Note that you might need to increase the **Max depth **of a VRayMtl with refraction in case it intersects with the Heat Haze shader.  
> Macro (anchor)

**Isosurface** – This method requires V-Ray. It produces a procedural [isosurface](http://en.wikipedia.org/wiki/Isosurface) without polygons at render time using the [Liquid Rendering#Surface](https://docs-chaos.atlassian.net/wiki/spaces/PHX3MAYA4EDIT/pages/117277102) section options. Compared to the **Mesh** mode, the result is always smooth but will take longer to render. In case in **Mesh** mode your mesh is too jagged and edgy, and smoothing it out is too slow or impossible, this means you should switch to **Isosurface** mode instead.   
**Mesh** – The content is converted into a mesh using the Surface section options. This mode is mostly used for liquids but can also be applied to thick smoke using a scatter material or to plumes of smoke to create effects such as large underwater bubbles. Depending on the renderer you are using or if you want to export the mesh to Alembic, you can change the **Mesh Type** under the Mesh rollout.  
** **> Macro (anchor)

**Ocean Mesh** – The grid content is extended to a flat area, fitting the camera's view.  In most cases, this mode is used with a displacement texture such as the [Phoenix Ocean Texture](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125961067).  
**Cap Mesh** – Only the upper liquid surface is rendered. This mode can be used for swimming pools and other placid liquid surfaces.

> Macro (ui-text-box)
> 
> The ocean surface can be generated only when the liquid touches the sides and the bottom of the grid, which act as a container for the liquid. The detail of the mesh extension around the simulator depends on the camera resolution - for each pixel of the viewport or the rendered image, one or several polygons are generated, depending on the **Ocean Subdivisions** option.
> 
> Also note that if you use a material with fog color for the ocean mesh, and you have particles submerged below the ocean surface which you render using a [Particle Shader](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125830144), you need to also place a geometry that would serve as a bottom, or you could get flickering and darker rendering of the particles. For more info, see the **Render as Geometry** option of the [Particle Shader](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125830144).

**Sampler Type** | *rendSampler*Type – Determines the blending method between adjacent grid voxels. Used to balance between rendering speed and quality. This parameter is used when **Mode** is set to **Volumetric**, **Volumetric Geometry**, **Volumetric Heat Haze** and **Isosurface** modes.

**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.

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

> Macro (ui-text-box)
> 
> To render your Simulation with Motion Blur, you need to enable Velocity channel export from the [Output ](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125899086)tab of your simulator.   
>   
> When rendering liquids, the Motion blur of the mesh is obtained by shifting each vertex along the velocity by the shutter time. If rendering a Liquid simulation with secondary particle effects such as Foam, Splashes or Mist, you would also have to enable Velocity export for each particle system under the Output rollout → [Output Particles](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125899086/Liquid+Output#OutputParticles) tab.

> Macro (ui-text-box)
> 
> Phoenix meshes are motion blurred in a different way than regular transforming and deforming geometries. When rendering regular meshes with motion blur, the entire mesh is moved along its transformation path back and forward in time, and so each individual vertex of the mesh follows this path. However, for each rendered frame, a new Phoenix mesh must be built from the voxel grid, and so it usually has a different number of vertices than the previous and the next frame. Because of this, individual vertices can not be traced back or forward in time between frames. Instead, motion blur of fluid meshes uses the velocity of vertices which is recorded by the simulation, and moves each vertex back and forward in time along the vertex velocity. This is why the generated liquid mesh does not support frame sub-sampling for motion blur. This may cause a mismatch between the liquid and transforming/deforming objects in your scene that interact with it. The fluid mesh is generated from data at the exact rendered frame and fluid data for the preceding or following frames is not used, unlike regular deforming meshes. As a consequence, the liquid and the objects in your scene would synchronize best if those objects do not use additional geometry samples for motion blur.

> Macro (ui-text-box)
> 
> The [Grid Channel Smoothing](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125736790/Liquid+Input#GridChannelSmoothing) controls allow you to smooth the Grid Channels loaded from cache files for preview and rendering.
> 
> You can smooth the Velocity Grid Channel stored in the simulated caches in case the motion blurred edges are looking jagged.
> 
> The recommended values for the smoothest result are all zeroes for the Threshold, Similarity and Random Variation options - this will produce strongest smoothing, evenly applied over the entire Grid, without adding any random variation.

**Velocity Texture** | *rendVelTexture* – Specifies a custom texture used for motion blur when rendering Fire/Smoke simulations. The colors of the texture represent the velocity direction for each cell, similar to how Vector Displacement textures are evaluated. Every simulator cell receives a certain color from the texture, treats it as a direction vector and stretches the contents of the simulator along to produce motion blur. This parameter can be used with a V-Ray User Color texture for motion blur in a single direction(e.g. by setting the color to (0, 1, 0) for motion blur in the +Z axis), or any other Maya texture applied as a 3D projection. The texture overrides the Velocity grid channel even if available in the cache files. Note that the Y and Z components of the velocity vectors are flipped - they are sampled respectively from the Blue and Green color values of the texture. 


> Macro (anchor)



### **Surface**

---

> Macro (ui-text-box)
> 
> This section controls the conversion of the grid content into geometry. If **Render Mode** is set to **Mesh**, **Ocean Mesh**, **Cap Mesh** or **Isosurface**, the **Surface** channel needs to be set and an appropriate **Isosurface Level** must be chosen from this section.
> 
> The controls in this section also denote the surface used in **Gradient** and **Surface-driven** displacement. This way it can affect all render modes, not just the surface modes.
> 
> The technique for generating the surface is based on the [isosurface](http://en.wikipedia.org/wiki/Isosurface) concept. The resulting surfaces are mostly used to render liquids, but can be used for smoke and fire as well to create effects like underwater bubbles, freezing fire, etc.

> Macro (ui-text-box)
> 
> The proper value for the **Isosurface level** parameter depends on the numerical range of the surface channel. For example, Phoenix liquids are kept in the range of 0 to 1. A value of 0 means there is no liquid in a certain voxel, and a value of 1 means the cell is 100% full of liquid. Values in between indicate a certain mixture of air and liquid. For such cache files, an **Isosurface level** value of 0.5 is best for visualizing the surface between the air and liquid. Imported caches from Houdini, on the other hand, use positive and negative values to indicate whether a voxel is inside or outside the liquid volume, so a correct "halfway" **Isosurface level** value would be 0.0. For Phoenix smoke, the proper value is about 0.01, and for Phoenix temperature, which is in Kelvins, the value is several hundred. Please check the [Grid Channel Ranges](https://docs-chaos.atlassian.net/wiki/spaces/PHX4MAYA/pages/125895763) page for information about other grid channels.
> 
> > Macro (legacy-content)
> 
> > Macro (legacy-content)

### **Render Cutter**

---

> Macro (ui-text-box)
> 
> If using a  **Render Cutter** for a liquid pouring into a glass or otherwise contained into another refractive object, you may need to set the [Render Mode](https://docs.chaosgroup.com/display/PHX3MAYA/Rendering#Rendering-Parameters) to **Isosurface**.  By default, the mode is set to **Mesh** which may produce artifacts in the rendered image.