Volumetrics

 

Probably one of the most beautiful features of OctaneRender is its ability to render voxel-based volume grids (figure 1). These can either be procedural generated in C4D, supplied via OpenVDBDreamworks’ open-source C++ library housing the data structures and tools implementation for storing and manipulating volume data, like smoke and other amorphous materials. The purpose of OpenVDB is mostly to have an efficient way to store volumetric data in memory and on disk. It has evolved into a more general toolkit that also lets you accomplish other things, such as fracturing volumes, converting meshes to volumes and vice versa. However, it does not include a computational fluid dynamics solver, and therefore it cannot procedurally generate smoke or fire. OpenVDB is fully integrated as a library in OctaneRender. For more information about OpenVDB, check at http://www.openvdb.org/. files, or through a plugin such as Turbulence FD.

Volumetrics_Fig01_C4D_v3_08

Figure 1: Voxel based volume grid rendered in Octane.

 

A voxel is a kind of pixel data with a density value. But it has 3 dimensional coordinates as opposed to 2 dimensional image pixels.

 

There are two types of volume objects that can be created, an Octane Fog Volume and an Octane Vdb Volume. These objects can be found in the Objects menu of both the Octane Dialog window or the Live Viewer window (Figure 2).

Volumetrics_Fig02_C4D_v3_08

Figure 2: Volume Objects are found in the Objects menu.

 

These two objects are essentially the same. The only difference is the default Type which can be switched for either object. Switching is done from the Type parameter. An Octane Volume Fog object has its default type set to Generator and an Octane Vdb Volume has its default type set to VDBDreamworks’ open-source C++ library housing the data structures and tools implementation for storing and manipulating volume data, like smoke and other amorphous materials. The purpose of OpenVDB is mostly to have an efficient way to store volumetric data in memory and on disk. It has evolved into a more general toolkit that also lets you accomplish other things, such as fracturing volumes, converting meshes to volumes and vice versa. However, it does not include a computational fluid dynamics solver, and therefore it cannot procedurally generate smoke or fire. OpenVDB is fully integrated as a library in OctaneRender. For more information about OpenVDB, please see http://www.openvdb.org/. Loader.

 

The Medium parameters are identical for either volume type (figure 3).

Volumetrics_Fig03_C4D_v3_08

Figure 3: Medium parameters for the Octane Volume objects.

 

The Volume node accepts a Volume MediumA shading system designed to render volumes such as smoke and fog., ScatteringDefines how fast light gets scattered when traveling through the medium. Medium, or AbsorptionDefines how fast light is absorbed while passing through a medium. Medium. If you attach a volume medium, you have the ability to apply color ramps independently to each of absorption, scattering, and emission. In order to make use of a ramp, you must have a color specified for the corresponding channel. For example, to use the absorption ramp, you must select a color texture for absorption.

 

The Volume Step Length parameter may need to be adjusted depending on volume size. The default value for the step length is 4m. Should your volume be smaller than this, you will likely need to decrease the step length. Please note that decreasing this will reduce the render speed drastically. Increasing this value will cause the ray marching algorithm to take longer steps. Should the step length far exceed the volume’s dimensions, then the ray marching algorithm will take a single step through the whole volume. Most accurate results are obtained when the step length is as small as possible. For simplifying workflow, the volume step length should be set first to an acceptable value.

 

Similarly to the Medium node, volumes may also have scattering, emission and absorption . These colors influence the appearance of a volume significantly. The Phase function also affects a volume as it would affect a medium node, and modifying the Density value of the volume scales the density values of the volume linearly. This will also potentially increase emission as absorption values are also used as particle density.

 

Volumes are rendered in an unbiased way. This means they are able to scatter multiple times and produce self-shadowing effects. Should you wish to reduce the maximum scatter events in a volume, reduce the DiffuseAmount of diffusion, or the reflection of light photons at different angles from an uneven or granular surface. Used for dull, non-reflecting materials or mesh emitters. Depth in your kernel node.