• Matt Norris

Introduction to VEX part 2 (what the hell is the point?)

Updated: Feb 25, 2020

So having haphazardly fumbled through how Houdini actually operates it begs the question.






What can VEX actually do?


I'm glad you asked that:

  • It can read, write, cast and bind attributes to any of the 4 types of geometry level object

  • It can create new attributes

  • It can create groups and edit group membership

  • It can create and delete geometry level objects

  • Reference channel data

  • call an impressive library of built in functions that allow you to manipulate your geometry stream in very powerful ways (maths baby)

  • create user defined functions

  • create user defined data structures

  • define new node types!

Wow, that sounds amazing! I should use vex for everything right?


What can’t VEX do?

  • Create new nodes

  • Set parameters

  • Read most global variables directly

  • Use Hscript functions

  • Render

  • Cache geo

  • Directly place data anywhere outside of the current geo stream

  • Interact with any other data streams

  • interact with the OS

Oh no, that's terrible, vex sucks right?


Well no, VEX is built for speed, to quote the Houdini docs:


VEX evaluation is typically very efficient giving performance close to compiled C/C++ code. VEX is not an alternative to scripting, but rather a smaller, more efficient general purpose language for writing shaders and custom nodes.

To put that into context Python is anywhere from 10 to 100 times SLOWER than compiled C++ when running over heavy data sets (for example a 1,000,000 point particle sim).


So it actually makes a lot of sense for Houdini to split the different types of task you want to do and give all the higher level fancy stuff to Python, things like building UI or building node networks or saving data out to disk, whilst giving all the low level geometry operations over to VEX which can iterate over huge data sets performing relatively complex mathematical

operations at very high speed.


Cool, take a deep breath, that's the boring stuff over, time to get vexxing!

50 views0 comments

Recent Posts

See All