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.
Requirements:
10.0, 9.0 or later
Linux, Mac, Windows
16 Nov 2016
918

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.

V1.0
Compatible with:
Windows 9+
Linux 10
Mac 10

V1.1
Updates:
  -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.

Comments   

 
# Frank Rueter 2016-11-13 23:14
that looks pretty awesome, can't wait to test it.
Thanks for sharing!
 
 
# 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)
 
 
# 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.
 
 
# 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.
 
 
# Damian Binder 2016-11-14 19:02
Looks good but I get an error message on mac: 'Error compiling kernel'
 
 
# 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?
 
 
# 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.
 
 
# Michael Holm 2016-11-15 09:52
Neat!

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.
 
 
# Mohan Pugaz 2016-11-15 14:59
Waited for this soo long this is amazing.. :o
 
 
# 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?
 
 
# 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.
 
 
# Matthew Shaw 2016-11-16 22:20
I've added a new version which should hopefully be fixed.
 
 
# 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:)
 
 
# Matthew Shaw 2016-11-18 13:29
Hi gabriele, do you mean they still have the problem or are they working for you now?
 
 
# gabriele mambretti 2016-11-18 17:23
Hi Matthew, point light work but i still have problem the problem using env light
 
 
# PAUL FLANAGAN 2016-11-15 21:13
Thanks for posting this Matthew. Very cool!
 
 
# 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.
 
 
# 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.
 
 
# 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!
 
 
# 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.
 
 
# 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?
 
 
# 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.
 
 
# 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
 
 
# 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.
 
 
# J0hann Roche 2017-07-13 20:41
you are the man !
 
 
# Ruslan Rukin 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
 
 
# 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.
 
 
# 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.
 

You have no rights to post comments

We have 2745 guests and 82 members online