Volume Vop
surface node
Runs CVEX on a set of volume primitives.
See also: Volume Mix, Iso Offset, Iso Surface
The Volume Vop operation runs CVEX over a set of volume primitives. The CVEX shader can be defined as a .vfl file, a Shop, or by building a CVEX VOP network inside this node. The last is the most straightforward approach.
Binding to the CVEX script controls what values are passed to which parameters of the script. The default AutoBind will look at the name attribute of the volumes to determine which parameter they should override. If that parameter is marked as exported in the CVEX script, the volume will be written to. Otherwise, the volume is just read to get the paramater’s values. If a name attribute is not present, the first volume is bound to the “density” parameter which is provided in the default output and global parameters.
The CVEX script is applied once for each exported volume primitive. Locally defined ix, iy, iz, resx, resy, resz, orig, and P bindings are created that refer to the index, resolution, center, and current voxel position of the currently exported primitive.
The parameters list starts with parameters created by the CVEX script’s parameters. If the parameter is meant only to be bound to a volume, it can be hidden by setting the invisible flag on the VOP parameter.
Parameters
Vex Setup
|
Vex Source |
Where to get the CVEX script from. Myself will refer to the VOP network built inside this node. Shop will use the Shop Path and Script will load the .vex file specified in the script. |
|
Shop Path |
The CVEX Shop to apply. |
|
Script |
The CVEX script to apply. |
|
Re-load VEX Functions |
When in script mode, this reloads any .vex files to account for updates made outside of Houdini. |
|
Compiler |
The command line used by VOPs to compile the inside of this node. |
|
Force Compile |
Trigger a recompile of the VOP network. |
Volume Bindings
|
Autobind by Name |
Will use the name primitive attribute to determine which volume binds with which parameter. If the name attribute isn’t present, the first volume is bound to density. A name like “foo” will be bound to the float parameter “foo”. A name of “foo.x” will be bound to the x component of the vector (three float) parameter “foo”. A name like “foo.zx” will be bound to the x,z component of the matrix (three by three) parameter “foo”. |
|
Primitive, Name |
Manually specifies the bindings of each primitive. This is equivalent to those primitives having a name attribute with the given name. |
Usages in other examples
| Example name | Example for |
|---|