cpp-wrangle icon indicating copy to clipboard operation
cpp-wrangle copied to clipboard

Houdini C++ wrangle node

  • Houdini C++ Wrangle

    [[file:img/title.png]]

    This Houdini node allows you to write wrangle nodes in C++ instead of VEX.

    VEX is an amazing tool for prototyping and fast production, however it is quite simplistic and sometimes broken language. Writing wrangle nodes in C++ brings the full expressive power of C++ and access to HDK(Houdini C++ API) in the expense of slow compilation times compared to VEX.

    To make the transition from VEX to C++ as simple as possible, we provide C++ implementation of VEX functions. Therefore you can write almost the same code in C++ as you would write it with VEX.

    Warrning: This project is quite experimental, many things are broken, undocumented or unusable. I'm still trying to figure out how the whole thing should work. Any feedback is greatly appreciated!

** Original idea

This node is an extension of the node made by [[https://vimeo.com/171189268][animatrix]]. My version should be easier to use for people experienced with VEX.

  • Installation and Requirements

    Installing and running CppWrangle should be as easy as running the following commands in any directory: #+BEGIN_SRC git clone https://github.com/lecopivo/cpp-wrangle.git cd cpp-wrangle/houdini/cpp mkdir -p build/release; cd build/release cmake ../.. -DHOUDINI_ROOT=/opt/hfs17.0 -DCMAKE_INSTALL_PREFIX=../../.. -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_EXPORT_COMPILE_COMMANDS=1 make -j make install #+END_SRC

    You probably want to change =-DHOUDINI_ROOT=/opt/hfs17.0= to point to the location where Houdini is installed.

    Requirements: You need Houdini, modern c++ compiler, cmake and [[http://eigen.tuxfamily.org][Eigen]] library. I'm testing it with Houdini 17.0.352, gcc 8.1.0, cmake 3.10.1 and Eigen 3.2.92.

    To test if everything is working, just open up the scene in =cpp-wrangle/houdini/hip/examples.hipnc= and you should be greeted by the colorful pig: [[file:img/colorful_pig.png]]

  • Slow compilation

    Yeah, I know...is sucks :( The compilation is really slow. But the power of c++ and HDK over VEX is worth it in many situations.

  • Three Modules

** cppvex C++ impelementation of VEX functions ** hougen connection between Houdini and Eigen ** houfem finite element library