Voxel System v1.1

This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Matthew Shaw
A set of nodes for building, lighting and rendering voxel grids in nuke, in particular, for fog and cloud generation.
10.0, 9.0 or later
Linux, Mac, Windows
16 Nov 2016

Includes a set of nodes for creating, filling, lighting, adjusting and rendering voxel grids, as well as a demo scene and render. The grids are calculated as 2D images and compatible with any other nuke nodes, and can be saved out as exrs for reusable volumes and quick rendering. The nodes are heavily reliant on blink script which works best with GPU rendering, although all options for it's use are exposed per node.

Compatible with:
Windows 9+
Linux 10
Mac 10

  -Added Directional Light
  -Removed some optimisations for GPU on all lights and render to fix compile errors on some hardware
Compatible with:
Windows 9+
Pending testing for Linux and Mac


Nuke Voxel Cloud from Matthew 'Rick' Shaw on Vimeo.

Sample Render CloudVoxelNodes


Nodes included are as follows, and further documentation for them can be found here:

  1. V_Grid: Generates a voxel grid.
  2. V_Noise: Fills a grid with 3D noise.
  3. V_Shape: Places an SDF volumetric shape into the grid.
  4. V_Erode: Shrinks or Expands the volume.
  5. V_Average: Averages the density / colour data in the grid.
  6. V_Transform: Transforms the grid or the data.
  7. V_PtLight: A point light for lighting the volume.
  8. V_DirLight: A directional light for lighting the volume.
  9. V_EnvLight: A light for mapping a latlong image around the grid, similar to IBL lighting.
  10. V_Preview: A version of nuke's positionToPoints for viewing the voxels in 3D space.
  11. V_Render: Renders the voxel grid using a given camera.


Note: The system uses metadata and an additional layer to work, if saving out any 2D grids, ensure layers and metadata are turned on. Similarly, if merging other branches, make sure the metadata is included with the merge.

Please login in order to download these files.


0 # Frank Rueter 2016-11-13 23:14
that looks pretty awesome, can't wait to test it.
Thanks for sharing!
0 # Frank Rueter 2016-11-14 00:41
I can confirm that this works in Nuke 10 on linux (Nuke 9 seg faults though when I open the example script)
0 # Matthew Shaw 2016-11-14 09:45
Thanks! Several blink scripts require random access which I think was an issue for mac and linux pre-Nuke 10, in which case I don't think there's much I can do to make it work, but I'll keep my eyes peeled for anything.
0 # Michael Habenicht 2016-11-14 11:05
Thank you very much Matthew,
for me it is working on linux and nuke9 but after some time it gets corrupted and shows weird random colored voxels which might be due to the random access problem.
+1 # Damian Binder 2016-11-14 19:02
Looks good but I get an error message on mac: 'Error compiling kernel'
0 # Matthew Shaw 2016-11-14 21:00
Can you tell which node(s) is/are causing the issue? If you try placing each of them one by one you might be able to narrow it down and I can see if I can find a pattern.

Also, what version of Nuke are you running?
+1 # Adrian Pueyo 2016-11-14 23:35
Thanks so much for sharing this! also working like a charm on Mac Nuke 10 :-)
-1 # Andrew Rea 2016-11-15 09:42
Works great on Windows 10 Nuke 10 but get an "error compiling kernel" error from V_PtLight (everything above it works) on Mac OS Nuke 9 but the GPU is underpowered so its to be expected
+1 # Matthew Shaw 2016-11-15 09:44
It looks like the random access issue on Linux / Mac pre Nuke 10 is the culprit. Sadly there's nothing I can do about that.
0 # Michael Holm 2016-11-15 09:52

Looks very familiar. https://vimeo.com/177675560
Is this a collaboration?
+1 # Matthew Shaw 2016-11-15 10:27
I've had a lot of discussions back on forth with Hagbarth about a few things, but we work separately. Sometimes the tools do overlap though, looks like this is definitely one of those! Maybe one day we'll collaborate on something.
0 # Mohan Pugaz 2016-11-15 14:59
Waited for this soo long this is amazing.. :o
0 # gabriele mambretti 2016-11-15 15:28
Thanks Matthew i've the same "error compiling kernel" error from V_PtLight on WIN 10 Nuke 10 or 9.. Any idea what is wrong? thx
-1 # Matthew Shaw 2016-11-15 16:31
The nodes are optimised for GPU but there might be a compatibility issue with some cards from the sounds of it. On the PtLIght, go to the GPU tab and disable "Use GPU if Available". If it works then, could you let me know what graphics card you are using and I can take a look into what's causing the issue?
0 # gabriele mambretti 2016-11-16 11:34
It doesn't work also with "Use GPU if Available" disable. The graphic card is a Quadro Fx 3800.
Also V_EnvLight and V_Render nodes do the same..
-1 # Matthew Shaw 2016-11-16 13:34
Ok, there's a gpu optimisation I made across those 3 nodes specifically that might be the issue, I'll make a workaround and have a new version uploaded as soon as I get time.
0 # Matthew Shaw 2016-11-16 22:20
I've added a new version which should hopefully be fixed.
0 # gabriele mambretti 2016-11-17 16:31
Thanks matthew.. point light work great!!!! I think the env light has the same problem with kernel. Thanks for all:)
0 # Matthew Shaw 2016-11-18 13:29
Hi gabriele, do you mean they still have the problem or are they working for you now?
0 # gabriele mambretti 2016-11-18 17:23
Hi Matthew, point light work but i still have problem the problem using env light
0 # PAUL FLANAGAN 2016-11-15 21:13
Thanks for posting this Matthew. Very cool!
0 # PAUL FLANAGAN 2016-11-15 22:27
Im getting the same "error compiling kernel" error with both light types on a mac pro in nuke 9. it runs two ATI fire GL Cards. Ive tried the sample scene and hooking up my own network.
If I un-tick the GPU it will also give the Kernel error. thanks.
0 # Matthew Shaw 2016-11-15 23:47
It seems to be this issue is mostly related to the Random Access issue for Mac and Linux pre Nuke 10, but I will try some changes to the light nodes and see if I can find a solution to the issue. It may be the weekend before I can roll out an update however.
0 # Matthew Shaw 2016-11-16 22:23
Hi Paul, I've added a new version which removes the GPU optimisations that I think were causing the issue. If you want to test it and could let me know if that fixes the issue so I can update the compatibility that'd be great!
0 # Mitchell Kehn 2017-06-09 11:39
Hi Matthew,

This looks amazing, and I totally have a use for this, but I can't seem to be able to get it to work. I've followed the documentation you put up, but I can only get it to render a black screen. Could you perhaps put up a video tutorial that just shows how to get the system set up and rendering correctly. I'm using 10.0v3.
0 # Matthew Shaw 2017-06-11 21:04
I've been meaning to get around to a video for this for some time, hopefully will have one by the end of the month! Until then, is there anything in particular that's going wrong? If you recreate the example file, does it render correctly?
0 # Mitchell Kehn 2017-06-12 06:18
I seem to be able to open the example file fine, recreating it it doesn't appear to work, which I'm guessing is because of some little thing I'm missing.
Look forward to your tutorial video!

Also, in the demo scene, changing grid resolution or root format size both result in error in the grid node, because of some problem with the kernel.
0 # J0hann Roche 2017-07-12 22:12
Hi matthew your voxel_system is a really great idea ! THANKS for sharing
>> i made many tests with WIN 7&10, Nuke9&10, nvidia gtx 680 & titan X, it's fast but "error compiling kernel" come when resolution grid is more than 800.
TO ADD perlin and cellular with fractals functions would be a great update
0 # Matthew Shaw 2017-07-12 22:32
Thanks! I'm glad you like. A resolution of 800 is per axis, meaning you were calculating 512 million voxels at a time. I'm impressed the graphics card actually made it that far!
I have actually been attempting to get back to this project the past couple of weeks but my dev machine has been out of action this month. Once I get it repaired I'll be hoping to add some openvdb support and will definitely look at adding extra noise patterns, they should be relatively quick to do.
0 # J0hann Roche 2017-07-13 20:41
you are the man !
0 # R R 2017-08-17 15:24
nuke10v3 win 8.1 now working, gpu off
and how now put this cloud into 3d scene ? not connect to scene
0 # charly mop 2017-09-05 09:37
Amazing Work Matthew ! Dammn I was thinking of building something like this.

I am testing the demo scene it right now on Linux station. Working pretty good on GPU acceleration on Quadro M4000 even if some artifacts are showing in the color of the clouds.
Unchecking the GPU acceleration make the kernel compile fail.
0 # martin constable 2017-09-30 05:24
Looks great! Works out of the box. Got me interested in voxels, about which I know practically nothing.
0 # antonio ramos 2018-01-09 10:37
Looks great!!! are there any posibility of get deep pass from the render node?
0 # Rafael Ristovski 2018-02-09 21:47
On Linux with Nuke 11 I get an error compiling the blinkscript for V_EnvLight, I don't have any GPU acceleration on. I don't get any other compiling issues that others mentioned in here. Any ideas?
0 # Rafael Ristovski 2018-02-09 22:39
Changing the Gizmo to a group and then unticking "Vectorize on CPU" on the BlinkScript node brings the amount of errors down:
76 errors generated.
2 errors generated.

No vectorization:
2 errors generated.
0 # sebastian brown 2021-05-24 22:02
likewise on Windows 10 Nuke 13 RTX 2070
looks awesome though cant wait to use
heres the error i get

Missing :
0 # murphy murphy 2018-02-27 11:00
Nuke 10.0v4, 64 bit, Windows

2018-02-27 17:27:19: 0: STDOUT: 76 errors generated.
2018-02-27 17:27:20: 0: STDOUT: 2 errors generated.
2018-02-27 17:27:20: 0: STDOUT: Total render time: 0.22 seconds
2018-02-27 17:27:21: 0: STDOUT: V_EnvLight2.Bli nkScript1: Error compiling kernel
2018-02-27 17:27:21: 0: INFO: Process exit code: 1
0 # Andre BRIZARD 2018-03-12 15:33
Can you share the script for your cloud please ?
+1 # Matthew Shaw 2018-05-07 14:01
Unfortunately I haven't furthered the code in quite a long time, but the good news I open sourced it and it's available here on github: https://github.com/MattRickS/VoxelRenderer
0 # Rafael Ristovski 2018-05-08 22:48
Do you happen to know why Nuke on Linux sometimes jut prints "Error compiling kernel: Error compiling kernel" instead of the full error message from the compiler?

Would help in debugging V_EnvLight
0 # claudio antonelli 2018-03-17 17:05
Great tool,

but i have some z-sort issues.
As you can see in the link.
Am i just doing it wrong?

0 # Daniel Miller 2018-03-26 19:18
Looks amazing, can't wait to try it out.
0 # Emmanuel Repérant 2018-10-19 08:21
So beautiful, but I have issue.
V_EnvLight1.BlinkScript1: Error compiling kernel.
It doesn't work even I turn of "use GPU if Available"
My graphic card is NVIDIA Geforce GTX 1070.
Thanks for your help.
0 # pipo molo 2019-05-24 10:57
Hi Matthew and thanks for sharing!

I'm trying your tool but there is an issue with the EnvLight. But it works with a DirLight.

Nuke 11.2v6 or 11.3v2, windows10 GTX1070

When I turn off GPU and back on, there is a warning mesage :

Error compiling kernel: Cannot compile OpenCL kernel

error1: implicit conversion from address space "constant" to address space "private" is not supported in initialization expression

0 # Mirko De Angeils 2021-02-09 12:20
Hi Matthew!
I'm trying your tool but there is an issue with the EnvLight, V_Grid...

More people have the same issue, from 12.0 to 12.2.xx version.
the same error IN ALL NODE OF VOXEL:

0 # Mirko De Angeils 2021-02-09 12:20
Hi Matthew!
I'm trying your tool but there is an issue with the EnvLight, V_Grid...

More people have the same issue, from 12.0 to 12.2.xx version.
the same error IN ALL NODE OF VOXEL:

0 # Ann Red 2021-03-19 18:42
Hi Matthew!
unfortunately I have a problem with EnvLight too.
Nuke 12
nvidia 970
0 # Owen Bulka 2022-05-10 05:17
I wanted to test this as well and was getting the same error with the environment light.

It can be fixed by removing the third argument from the `intersection_e xit_AABB` function on lines 59 and 153 in the blinkscript.
0 # Terell Seitz 2022-10-06 00:26
Has anyone been able to fix this in Nuke 13.2?
+2 # Owen Bulka 2022-10-12 06:30
Yes, I was able to fix them and tested it in 13.2v2.
My fork of this repository with the fixes can be found here: https://github.com/obulka/VoxelRenderer :-)
0 # Terell Seitz 2022-10-13 00:42
This is amazing. Thank you.

You have no rights to post comments

We have 2718 guests and 81 members online