CVEX shader and CVEX volume procedural for Arnold. Allows you to generate colors and volume density using the full power of Houdini's VEX language.
An installation of Houdini.
- Get the Arnold SDK for your system and Arnold version from SolidAngle and put it in
deps
. - Adjust the path to match your Arnold SDK and Houdini versions in
compile.sh
/compile.bat
(depending on your system, you just need to modify the .bat (Windows) or .sh (everywhere else)) - Run the script for your OS from the command line
- Copy the resulting
vexrgb.dll/.so/.dylib
andvexrgb.mtd
file for to yourARNOLD_PLUGIN_PATH
. - Copy
vexvolume.dll/.so/.dylib
to thedso
directory in your Arnold installation (or wherever your Arnold looks for procedurals). It's easiest to put it somewhere in yourARNOLD_PLUGIN_PATH
and add[ARNOLD_PLUGIN_PATH]
to the Procedural Path in the System section of your Arnold settings. - Install the HDAs to your Houdini (e.g by copying them to your
HOUDINI_PATH
orHOUDINI_OTLSCAN_PATH
. - Start Houdini with Arnold and have some fun. (It's theoretically possible to use this without Houdini, but you will probably use it to author the CVEX shaders anyway.)
Create a Arnold VEX Volume
node in SOP level or a Wrap VEX RGB
in an Arnold VOP network to create the volume procedural or shader respectively. Usage should be fairly straightworward, but note that you need to press the Updated Node button if you set a node as the VEX source and changed it for changes to propagate.
The VEX RGB shader requires a vector output named out, the volume procedural expects a (float) density output.
The samples/sample.hip
file demonstrates the usage of both nodes. It will only work after pressing Updated Node on both /obj/mr_vexvolume1
and /shop/arnold_vopnet1/mr_wrapvexrgb1
.
Ng modulated by some Houdini noise:
A fractal volume (quaternion Julia fractal) generated with a CVEX shader: