Cycles Volumetric Rendering

Another problem is that the current system in Cycles is very limited compared to BI. For example interpolation - it is hardcoded to linear while with BI one can interpolate voxel data in various ways, like cubic b-spline for example. This way one can get away with lower resolution sims and still get smooth results.

Also missing: The option to take voxel data from other domains (i.e. to select the domain) - sometimes you have a scene with many parts where smoke is emitted. No need to simulate them all in BI, just grab data off one(!) domain.

Also missing: There is more kinds of voxel data than just smoke. Image sequences etc. just as an example.

I vote for a dedicated voxel data node.

you can use a color ramp to change interpolation

You can only change the interpolation after it has been interpolated. You will not get the true 3D Voxel interpolation you will get when using BI. I got that confirmed by a developer.

The colorramp node can only be used to shift densities, but not create densities where there is none. Cubic B-Spline will add densities at places that are 0 with linear interpolation.

Think of it this way: The 3D voxel interpolation will set the parts of the volume where there is and where there is no density, the colloramp node can be used to change how dense the volume is in those areas. It is more of a refinement.

Some examples where the smoke is just set to a very thin part of the volume, you need this kind of setup all the time for things like dry-ice smoke or cigarette smoke and certain types of fire. Emission material for demo purposes:

  1. BI, Cubic B-Spline


  1. BI, Linear:


  1. Cycles (nearly the same as above):


  1. Cycles with a Cubic B-Spline colorramp before the defining one (putting the stops any further left on the second ramp resulted in the entire domain being filled with volume:


I see your point, what I suggested is more like a dirty work around, but better than nothing til we get a proper smoke node for cycles. Thanks for the comparison posts! :slight_smile:

Blender 2.71 will have several different texture filtering options available (and this is already available in daily builds). This isn’t available for voxels as far as I’ve seen.

We should keep in mind that Cycles volumes are still very early in development. These are all features that I’m sure will be added later.


I’ve posted this image in finished projects but I thought you volumetrics enthusiasts might want to criticise. The underwater part of this scene is cycles volumetrics. It’s not an amazing fire simulation but it was good fun trying to get this to work all in one render without the need for compositing.


oh yus i love me some volumes :smiley:

So happy to discover WORLD volumetrics is supported. No idea when that happened, but yay.



On a side note, I couldn’t figure out how to make the volumetrics less chunky. I tried changing the Step Size, Max Steps and Bounces. Nothing made any difference (at all).

Do those settings not apply to the world volumetrics yet?

  1. Step size and max steps only refer to heterogenous volumes. 2. don’t connect a background at all. 3. For homogenous try the equiangular setting for few small light sources. 4. make sure you check homogenous in the world context volume panel for a significant difference.
  2. clamp indirect in render for quicker noise resolution at very minor cost in accuracy.

If no texture node or so is connected, Cycles will automatically assume a Homogeneous medium.


a little help from MLT

okey so there is one problem with volumentric rendering acctualy And it is that AO pass is rendering like this:

AO PASS:

And then render without AO

Kramon, yeah, I think not all of the rendering passes are supported yet. I think Z-depth doesn’t work quite right, and also the individual (Diffuse Direct, Diffuse Indirect, etc.) don’t include volumes yet. By the way, that render looks pretty cool.

HOW? Please, I need to know.
Will be very pleased!

OwlEye, when you make your own builds, all you have to do is un-comment-out the volume shader in shadertypes.h (I think that’s the file?)
Also, before you ask us how to build your own builds, please read the tutorial on wiki.blender.org. Ask any questions on #blendercoders on IRC. Sorry to be rude, but people always derail threads like this…

Thanks a lot, I will keep trying to investigate.

I tried to create something like the effect in Oz great and powerful using smoke in cycles and spot light, sorry for the noise


Hi OwlEye, volumetrics on GPU does not work anymore since a few weeks.
After changes in volumetric code you can compile but it render only black.

Cheers, mib.