HDK volume advect compare with Vex/Ocl

I’ve made one of my first HDK plugin. This was more a test in order to work with volumes in c++. You can find the code here.

_

This node read one volume on input1 and advect the data with 3 volumes on input2. I’ve made a comparaison with Vex and Opencl with a volume of 100*100*100 and 3 substeps in advection :

  • HDK advect : 1.813s
  • Volumewrangle : 0.398s
  • Opencl : 0.025s

I was surprised to get so much differences. My code in HDK is not threaded and I guess not optimized, I’ve made a test to thread my code with THREADED_METHOD2  but I didn’t get any improvement yet. My next step will be to try threads, opencl or cuda in HDK.

_

The Opencl Code seems in this case much better, for those who want to have a look the otl is here and I have a hip file here. (made with indie licences)

Ubisoft : Annecy

I’ve been working one year in video games. I was using Houdini in order to generate content in a procedural environement. I’m waiting to see pictures online in order to share one.

I’ve been working on, (everything wasn’t finished when I left ) :

  • road network : opencl pathfinding , pypanels, interactive tools
  • small cities : generate roads and placing buildings
  • road terraforming : create all the interesections and terraform with many controls
  • river creation : generate path of rivers, terraform the terrain and setup data for rendering
  • tools to edit and make preset in their software from Houdini
  • objects terraforming : automatic terraforming from objects with many setups and controls

sop solver : multiple outputs

I always though you can only edit one data at a time with Sop Solvers but in fact you can output multiple datas from a Sop Solver. : sop_solver.hip

I’ve seen this with the vellum constraint and you need to use a compile block. In this example I just move some geometry from a data to an other but it can be very useful when you have many data to edit like a smoke object.

opencl : advect volume

As the vdb_advect node was very slow, I decided to make my own advect node in Opencl : advect_opencl.hip

I’ve made a forward and backward advection. I’m uploading this node as it shows how to use atomic add with floats inside Houdini for the forward advection. It also use a bilinear interpolation to read or write into the voxels.

vex : mix colors

Here is a test to mix colors in different spaces like RGB RYB CMYK CIELab :

Hip File : color_mixing.hip

you will need this vex lib  : color.h

Below, from right to left : RGB mixing, RGB or CMYK in substractive mode, RYB with luminance based on RGB, and CIELAB.

Video : A test made with a color mixing in RYB space, I hope to upload soon the hip file for this effect.

Les gobelins : Houdini Courses

I was teaching Houdini for many years, here is a preview of the course I made at Les Gobelins. It was a course on 26 days. I’ve updated few sections so I’ll try to update the hip files in order to share them. I will post them one by one and I guess I will only post the pratical examples and the pdf for theory.

_

Course 01 Procedural Modeling : book / library → Procedural workflow

Course 02 Procedural terrain : VOP / Noise / Vex

Course 03 Rendering in Houdini : Shaders / Mantra / TriPlanar / Displace / Redshift / USD workflow

Course 04 procedural tree/forest : Copy/L-system/Instances/for Loop/LOD

Course 05 Procedural advance modeling : house

Course 06 : Procedural advance modeling : road / city

Course 07 Volume : pyroclastic noise/vdb/erode/render

Course 08 Clouds and sky : cloudFx/cvex/instance

Course 09 Procedural animation : CHOP/vehicule rigging /character rigging

Course 10 Intro DOP : Sop Solver / wetmaps / snow footprints

Course 11 Intro Particles : Fireworks / curve flow / render particles

Course 12 Vex Forces : goals / sdf / curve surface or volume guides

Course 13 Particles : vines generation : growing on surfaces

Course 14 FLIP : liquid simulation/ lava

Course 15 FLIP : ocean simulation

Course 16 Vellum solver : grain / cloth / hair

Course 17 Fur/Hair : grooming/simulation

Course 18 RBD : Rigid bodies / Bullet

Course 19 RBD : constraints/ displace /secondary debris

Course 20 PyroSolver : smoke simulation

Course 21 Pyrosolver and particles : tornado shot

Course 22 Pyrosolver : fire/explosions

Course 23 Other solvers : Fluid/FEM/Ripple/Wire

Course 24 Crowds : making crowds in Houdini / ragdolls

Course 25 Script : Python/Digital Asset

Course 26 dev : HDK / Opencl

_

an old preview I’ll also try to update (2014) :

SO Productions : Jelly Maker

I’ve made multiple commercials for this company when I was in Melbourne. I was using Houdini as a generalist : modeling, rendering, Fx, animations.