RSS< Twitter< etc

Voxel Rendering Mode - Krakatoa For Maya

Last Edited on 2012/02/08 @3:00 pm PST

Introduction

Voxel Rendering is the alternative rendering mode of Krakatoa. It was originally added to Krakatoa 1.5 to enable the volumetric rendering of huge FumeFX simulations in 3ds Max because Krakatoa's implementation uses a fraction of the memory typically associated with voxel rendering.

Pros And Cons Of Voxel Rendering

The main benefits of Voxel rendering are: 

  • Can render very large contiguous volumes using relatively few particles as long as there is at least one particle in each voxel.
  • Perfect for rendering smooth, puffy and pyroclastic clouds which would require orders of magnitude more particles to produce the same result.
  • Does not dissipate into points when the camera is flying through a cloud.

On the negative side,  

  • Generally slower than Particle mode and less heavily multi-threaded.
  • Has to perform a separate drawing pass for each light, and one for Emission/ Camera space effects.
  • Does not support Point lights due to the plane marching nature of the rendering algorithm.
  • The Voxel Size is fixed in world space and does not change with distance. It should be selected according to the desired quality and cannot be animated over time or space. 

Workflow Considerations 

Spatial Density  

  • The Voxel rendering mode typically requires less particles than Particle mode for the same type of rendering. Loading less particles can help decrease the overal rendering time, so it is quite possible to achieve the same rendering times in Voxel mode by adjusting the particle counts respectively. 
  • In the following set of images, the top row shows a PRT Volume with spacing of 0.5, 1.0 and 2.0 rendered as Particles. The bottom row shows the same particles rendered as Voxels with Voxel Spacing of 1.0 Filter Size 1, 1.0 Filter Size 1, and 2.0 Filter Size 2:
2,829,138 particles, 3.276s 353,482 particles, 1.108s 43,960 particles, 0.858s
2,829,138 particles, 6.646s 353,482 particles, 4.696s 43,960 particles, 3.292s

 

Regular Grid Vs. Jittering

  • Since the rendering is performed using a regular grid, rendering PRT Volume objects with Jittered option turned off is recommended - PRT Volume also produces a regular grid and the result will look smoother in Voxel mode.
  • In the following screenshots, the left image is from a PRT Volume with Spacing of 1.0 and Jitter on, rendered in Voxel mode with Spacing of 1.0. The right image uses the same settings, but Jitter off:

 

Voxel Size Vs. Particle Spacing 

  • The particle distribution should be selected such that there are enough particles to fill the desired volumes. This means that the distance between neighbor particles should be generally less than the Voxel Size value.
  • In the following example, the same PRT Volume with Spacing of 2.0 was rendered with Voxel Spacing of 1.0 (left) and Voxel Spacing of 2.0 (right):