Volume Rendering for 2.5!

I figured a feature this awesome deserved its own thread!
For those who haven’t already heard the Sim_Physics branch has been merged into 2.5, not only does that mean we now have all of the volume rendering options of the previous branch but we will soon be able to render smoke sims! (for those who haven’t seen smoke yet: click here)

I am currently trying to get a win32 build up on graphicall but I have run into a snag, I already emailed matt the error but since he is a busy man I figured one of you might be able to help a little faster. I get this error about half way through the build:

source\blender\render\intern\source\voxeldata.c:46:23:  smoke_API.h: No such file
 or  directory
source\blender\render\intern\source\voxeldata.c: In function  `init_frame_smoke':
 source\blender\render\intern\source\voxeldata.c:164:  warning: implicit declarati
on of function  `modifiers_findByType'
source\blender\render\intern\source\voxeldata.c:164:  warning: suggest parenthese
s around assignment used as truth  value
source\blender\render\intern\source\voxeldata.c:172: warning: implicit  declarati
on of function  `smoke_turbulence_get_res'
source\blender\render\intern\source\voxeldata.c:173:  warning: implicit declarati
on of function  `smoke_turbulence_get_density'
source\blender\render\intern\source\voxeldata.c:173:  warning: assignment makes p
ointer from integer without a  cast
source\blender\render\intern\source\voxeldata.c:176: warning: implicit  declarati
on of function  `smoke_get_density'
source\blender\render\intern\source\voxeldata.c:176:  warning: assignment makes p
ointer from integer without a cast
scons: ***  [G:\BlenderVOL\build\win32-mingw\source\blender\render\intern\source\
voxeldata.o]  Error 1
scons: building terminated because of errors.

I checked and all files mentioned in the error do exist so I’m lost…
Any help would be much appreciated.

in file:

Add this line:
incs += ’ …/…/…/intern/smoke/extern/’

P.S. This is can be dirty trick and in future you can meet svn conflict in this file, but it will build now :slight_smile:

Thank you soo much, I’m still pretty new to building with scons so this kind of help is much appreciated!

Edit: Ok build will soon be up on graphicall.org, again thanks alot!

Any idea how to actually render the smoke? Can somebody post a .blend with a setup?

I can’t figure it out either, the material gets applied to the emitter of the particles.

Heh i guess i need to play abit more with this version, thanks for building and uploading btw :slight_smile:

To render the smoke It looks like you create a voxel data texture and set it to smoke mode. then tell it to effect alpha, apparently they haven’t implemented density although it appears to be the same thing.

Edit: also make sure the volume’s material density is set to 0


Attached is a blend file for those who want to test stuff out.

It is animated. Alt-A should start the animation in view port so you can see whats what.


There is no need for any particle physics. THEY ARE ONLY EMITTERS, your left-to-right movement is ok but the particles should stay down at the bottom and the smoke will rise on its own.

See my example blend below…

@afalldorf, sorry teacher. we’ll make sure to pay more attention to what your saying…

To be more accurate, would that include deformed cubes, not just a 6 sided object with equal sized faces, the default cube? I’ve been using a stretched cube and it appears to work fine. :slight_smile:

I couldnt get a deformed cube to show smoke but maybe it was just me

@blaize lol sorry like I said I was a bit aggravated…

Try this blend, It is also set up for basic rendering (click)

EDIT: Weird now its working with a deformed cube…

Using Afalldorf’s build rev22423and following his suggestions in post #6 I’m still unable to get smoke rendering.
I put up my scene and would appreciate any pointers. I’m sure it’s something simple I’ve overlooked.


Thanks for any help.

You forgot to set the object in your voxel-data texture, set it to Cube and it works!

Simple fix for an understandable mistake :wink:

Trap for young players.
Many thanks for the tip. I knew that was there but completely forgot about it.


I guess you specifically set it to be the volume the smoke is operating in? And set the Alpha value to zero

Hey there dudes,

Still work to do on this stuff here, I’m also taking this opportunity to do some code reorganisation. This means breaking saved file compatibilty, so just keep that in mind as you’re saving files with this in-development stuff :slight_smile:

No problem, I will try to keep my examples updated right along with the builds.

BTW: I noticed a new commit, should be up on graphicall in an hour or so.

So here I tried some clouds!


Here’s my thread with the .blend file. If anybody’s interested please comment and post improvements. I REALLY want clouds…THANKS BROKEN!


Ok, so I’m talking to myself, but hey, why not. After spending all this time trying out volumetrics I’m actually quite fond of using the nodes instead of particles to represent volumes. Part of the problem with particles is you have no definition of the inside of the cloud. In my picture I use nodes to make the interior of the cloud more dense. One of the major problems I struggled with is that I couldn’t define where the clouds were in the volume with nodes. If you look at the nodes setup in my file you will see that I used a master cloud texture to define where the clouds were, then I added puffy edges to them and whatever I wanted etc. It would have been better if I could have created objects inside my volume that defined where the clouds were. If I had an input to the nodes texture that was the extents and location of a particular object then I could have modelled the clouds inside the overall volume and then used them as individual sources for my nodes inside the volume to add wispy edges to them or whatever. I am not a dev, and I am not disappointed or upset, these are just a few comments about my experience with trying out volumes.

Also, I think the individual spots outside my clouds are a bug, although I have been known to confuse bugs with features. Anyway, I hope my comments help someone somewhere.