Houdini 16.0 VEX VEX functions

addvertex VEX function

Adds a vertex to the geometry.

  • int addvertex(int geohandle, int prim, int point)

  • Creates a vertex in the geometry specified by geohandle. The returned value is a vertex number that can be used with the setvertexattrib() to change the value of the vertex, but is not the final vertex number of the vertex. It returns -1 on failure.

    The new vertex will be appended to the given primitives vertex list. It will be wired to the given point. If either of these are -1, no operation is performed and -1 is returned.

    The return value is a linear vertex.

    See also

    VEX functions

    Animation

    • chadd

      Adds new channels to a CHOP node.

    • chattr

      Reads a CHOP attribute value on Channels, Clips, Sample or Channel/Sample from a connected CHOP input, with validity check.

    • chattrnames

      Reads CHOP attribute names of a given attribute class from a CHOP input.

    • chend

      Returns the end sample of the input specified.

    • chendf

      Returns the frame corresponding to the last sample of the input specified.

    • chendt

      Returns the time corresponding to the last sample of the input specified.

    • chindex

      Returns the channel index from a input given a channel name.

    • chinput

      Returns the value of a channel at the specified sample in an input.

    • chinputlimits

      Computes the minimum and maximum value of samples in an input channel.

    • chnames

      Returns all the CHOP channel names of a given CHOP input.

    • chnumchan

      Returns the number of channels in the input specified.

    • chrate

      Returns the sample rate of the input specified.

    • chreadbuf

      Returns the value of CHOP context temporary buffer at the specified index.

    • chremove

      Removes channels from a CHOP node.

    • chremoveattr

      Removes a CHOP attribute.

    • chrename

      Renames a CHOP channel.

    • chresizebuf

      Resize the CHOP context temporary buffer

    • chsetattr

      Writes a CHOP attribute value on Channels, Clips, Sample or Channel/Sample.

    • chsetlength

      Sets the length of the CHOP channel data.

    • chsetrate

      Sets the sampling rate of the CHOP channel data.

    • chsetstart

      Sets the CHOP start sample in the channel data.

    • chstart

      Returns the start sample of the input specified.

    • chstartf

      Returns the frame corresponding to the first sample of the input specified.

    • chstartt

      Returns the time corresponding to the first sample of the input specified.

    • chwritebuf

      Writes a value of CHOP context temporary buffer at the specified index.

    • isframes

      Returns 1 if the Vex CHOP’s Unit Menu is currently set to 'frames', 0 otherwise.

    • issamples

      Returns 1 if the Vex CHOP’s Unit Menu is currently set to 'samples', 0 otherwise.

    • isseconds

      Returns 1 if the Vex CHOP’s Unit Menu is currently set to 'seconds', 0 otherwise.

    Arrays

    • append

      Adds an item to an array or string.

    • argsort

      Returns the indices of a sorted version of an array.

    • array

      Efficiently creates an array from its arguments.

    • arraylength

      Returns the length of an array.

    • foreach

    • insert

      Inserts an item, array, or string into an array or string.

    • isvalidindex

      Checks if the index given is valid for the array or string given.

    • len

      Returns the length of an array.

    • pop

      Removes the last element of an array and returns it.

    • push

      Adds an item to an array.

    • removeindex

      Removes an item at the given index from an array.

    • removevalue

      Removes an item from an array.

    • reorder

      Reorders items in an array or string.

    • resize

      Sets the length of an array.

    • reverse

      Returns an array or string in reverse order.

    • slice

      Slices a sub-string or sub-array of a string or array.

    • sort

      Returns the array sorted in increasing order.

    • upush

      Adds a uniform item to an array.

    Attributes and Intrinsics

    • addattrib

      Adds an attribute to a geometry.

    • adddetailattrib

      Adds an attribute to a geometry.

    • addpointattrib

      Adds an attribute to a geometry.

    • addprimattrib

      Adds an attribute to a geometry.

    • addvertexattrib

      Adds an attribute to a geometry.

    • addvisualizer

      Appends to the visualizer detail attribute.

    • attrib

      Reads an attribute value from geometry.

    • attribclass

      Returns the class of a geometry attribute.

    • attribsize

      Returns the size of a geometry attribute.

    • attribtype

      Returns the type of a geometry attribute.

    • attribtypeinfo

      Returns the type info of a geometry attribute.

    • detail

      Imports a detail attribute value from a geometry.

    • detailattrib

      Imports a detail attribute value from a geometry.

    • detailattribsize

      Returns the size of a geometry detail attribute.

    • detailattribtype

      Returns the type of a geometry detail attribute.

    • detailattribtypeinfo

      Returns the type info of a geometry attribute.

    • detailintrinsic

      Imports a detail intrinsic from a geometry.

    • findattribval

      Returns element index where an integer or string attribute has a certain value.

    • findattribvalcount

      Returns number of elements where an integer or string attribute has a certain value.

    • getattrib

      Reads an attribute value from geometry, with validity check.

    • getattribute

      Copies the value of a geometry attribute into a variable.

    • hasattrib

      Checks whether a geometry attribute exists.

    • hasdetailattrib

      Returns if a geometry detail attribute exists.

    • haspointattrib

      Returns if a geometry point attribute exists.

    • hasprimattrib

      Returns if a geometry prim attribute exists.

    • hasvertexattrib

      Returns if a geometry vertex attribute exists.

    • idtopoint

      Looks up a point number by an id attribute.

    • idtoprim

      Looks up a primitive number by an id attribute.

    • nametopoint

      Looks up a point number by a name attribute.

    • nametoprim

      Looks up a primitive number by a name attribute.

    • nuniqueval

      Returns the number of unique values from an integer or string attribute.

    • point

      Imports a point attribute value from a geometry.

    • pointattrib

      Imports a point attribute value from a geometry.

    • pointattribsize

      Returns the size of a geometry point attribute.

    • pointattribtype

      Returns the type of a geometry point attribute.

    • pointattribtypeinfo

      Returns the type info of a geometry attribute.

    • prim

      Imports a primitive attribute value from a geometry.

    • prim_attribute

      Copies the value of a primitive attribute at a certain parametric (u, v) position into a variable.

    • primarclen

      Evaluates an the length of an arc on curves using parametric uv coordinates.

    • primattrib

      Imports a primitive attribute value from a geometry.

    • primattribsize

      Returns the size of a geometry prim attribute.

    • primattribtype

      Returns the type of a geometry prim attribute.

    • primattribtypeinfo

      Returns the type info of a geometry attribute.

    • primduv

      Evaluates position derivative on a primitive at a certain parametric (u, v) position into a variable.

    • primintrinsic

      Imports a primitive intrinsic from a geometry.

    • primuv

      Evaluates an attribute on a primitive at a certain parametric (u, v) position into a variable.

    • primuvconvert

      Convert parametric UV locations on curve primitives.

    • setattrib

      Writes an attribute value to geometry.

    • setattribtypeinfo

      Sets the meaning of an attribute in geometry.

    • setdetailattrib

      Sets a detail attribute in a geometry.

    • setpointattrib

      Sets a point attribute in a geometry.

    • setprimattrib

      Sets a primitive attribute in a geometry.

    • setprimintrinsic

      Sets a primitive intrinsic value in a geometry.

    • setvertexattrib

      Sets a vertex attribute in a geometry.

    • uniqueval

      Returns a unique value from an integer or string attribute.

    • uvsample

      Evaluates an attribute on a geometry using a uv attribute name and value.

    • vertex

      Imports a vertex attribute value from a geometry.

    • vertexattrib

      Imports a vertex attribute value from a geometry.

    • vertexattribsize

      Returns the size of a geometry vertex attribute.

    • vertexattribtype

      Returns the type of a geometry vertex attribute.

    • vertexattribtypeinfo

      Returns the type info of a geometry attribute.

    bsdf

    • mask_bsdf

      Returns new BSDF that only includes the components specified by the mask.

    Conversion

    • atof

      Converts a string to a float.

    • atoi

      Converts a string to an integer.

    • degrees

      Returns the argument from radians into degrees.

    • eulertoquaternion

      Creates a vector4 representing a quaternion from euler angles.

    • hsvtorgb

      Convert HSV color space into RGB color space.

    • qconvert

      Converts a quaternion represented by a vector4 to a matrix3 representation.

    • radians

      Converts the argument from degrees into radians.

    • rgbtohsv

      Convert RGB color space to HSV color space.

    • rgbtoxyz

      Convert a linear sRGB triplet to CIE XYZ tristimulus values.

    • serialize

      Flattens an array of vector or matrix types into an array of floats.

    • unserialize

      Turns a flat array of floats into an array of vectors or matrices.

    • xyztorgb

      Convert CIE XYZ tristimulus values to a linear sRGB triplet.

    Crowds

    File I/O

    • file_stat

      Returns file system status for a given file.

    Fuzzy Logic

    Geometry

    • addpoint

      Adds a point to the geometry.

    • addprim

      Adds a primitive to the geometry.

    • addvertex

      Adds a vertex to the geometry.

    • computenormal

      In the POP and SOP contexts, sets how/whether to recompute normals. In the shading contexts, computes normals.

    • expandedgegroup

    • expandpointgroup

    • expandprimgroup

    • filamentsample

      Samples the velocity field defined by a set of vortex filaments.

    • geoself

      Returns a handle to the current geometry.

    • geounwrap

      Returns an oppath string to unwrap the geometry inplace.

    • getbbox

      Sets two vectors to the minimum and maximum corners of the bounding box for the geometry.

    • getbbox_center

      Returns the center of the bounding box for the geometry.

    • getbbox_max

      Returns the maximum of the bounding box for the geometry.

    • getbbox_min

      Returns the minimum of the bounding box for the geometry.

    • getbbox_size

      Returns the size of the bounding box for the geometry.

    • getbounds

      Returns the bounding box of the geometry specified by the filename.

    • getpointbbox

      Sets two vectors to the minimum and maximum corners of the bounding box for the geometry.

    • getpointbbox_center

      Returns the center of the bounding box for the geometry.

    • getpointbbox_max

      Returns the maximum of the bounding box for the geometry.

    • getpointbbox_min

      Returns the minimum of the bounding box for the geometry.

    • getpointbbox_size

      Returns the size of the bounding box for the geometry.

    • hedge_dstpoint

      Returns the destination point of a half-edge.

    • hedge_dstvertex

      Returns the destination vertex of a half-edge.

    • hedge_equivcount

      Returns the number of half-edges equivalent to a given half-edge.

    • hedge_isequiv

      Determines whether a two half-edges are equivalent (represent the same edge).

    • hedge_isprimary

      Determines whether a half-edge number corresponds to a primary half-edge.

    • hedge_isvalid

      Determines whether a half-edge number corresponds to a valid half-edge.

    • hedge_next

      Returns the half-edge that follows a given half-edge in its polygon.

    • hedge_nextequiv

      Returns the next half-edges equivalent to a given half-edge.

    • hedge_postdstpoint

      Returns the point into which the vertex following the destination vertex of a half-edge in its primitive is wired.

    • hedge_postdstvertex

      Returns the vertex following the destination vertex of a half-edge in its primitive.

    • hedge_presrcpoint

      Returns the point into which the vertex that precedes the source vertex of a half-edge in its primitive is wired.

    • hedge_presrcvertex

      Returns the vertex that precedes the source vertex of a half-edge in its primitive.

    • hedge_prev

      Returns the half-edge that precedes a given half-edge in its polygon.

    • hedge_prim

      Returns the primitive that contains a half-edge.

    • hedge_primary

      Returns the primary half-edge equivalent to a given half-edge.

    • hedge_srcpoint

      Returns the source point of a half-edge.

    • hedge_srcvertex

      Returns the source vertex of a half-edge.

    • inedgegroup

      Returns 1 if the edge specified by the point pair is in the group specified by the string.

    • inpointgroup

      Returns 1 if the point specified by the point number is in the group specified by the string.

    • inprimgroup

      Returns 1 if the primitive specified by the primitive number is in the group specified by the string.

    • intersect

      This function computes the intersection of the specified ray with the geometry.

    • intersect_all

      This function computes all intersections of the specified ray with the geometry.

    • invertexgroup

      Returns 1 if the vertex specified by the vertex number is in the group specified by the string.

    • metaimport

      Once you get a handle to a metaball using metastart and metanext, you can query attributes of the metaball with metaimport.

    • metamarch

      Takes the ray defined by p0 and p1 and partitions it into zero or more sub-intervals where each interval intersects a cluster of metaballs from filename.

    • metanext

      Iterate to the next metaball in the list of metaballs returned by the metastart() function.

    • metastart

      Open a geometry file and return a "handle" for the metaballs of interest, at the position p.

    • metaweight

      Returns the metaweight of the geometry at position p.

    • minpos

      Finds the closest position on the surface of a geometry.

    • nearpoint

      Finds the closest point in a geometry.

    • nearpoints

      Finds the all the closest point in a geometry.

    • nedgesgroup

      Returns the number of edges in the group.

    • neighbour

      Returns the point index of the neighbour of the point.

    • neighbourcount

      Returns the number of points that are connected to the specified point.

    • neighbours

      Returns an array of the point numbers of the neighbours of a point.

    • npoints

      Returns the number of points in the input or geometry file.

    • npointsgroup

      Returns the number of points in the group.

    • nprimitives

      Returns the number of primitives in the input or geometry file.

    • nprimitivesgroup

      Returns the number of primitives in the group.

    • nvertices

      Returns the number of vertices in the input or geometry file.

    • nverticesgroup

      Returns the number of vertices in the group.

    • osd_facecount

    • osd_firstpatch

    • osd_limitsurface

      Evaluates an attribute at the subdivision limit surface using Open Subdiv.

    • osd_limitsurfacevertex

    • osd_lookupface

    • osd_lookuppatch

    • osd_patchcount

    • osd_patches

    • pointedge

      Finds and returns a half-edge with the given endpoints.

    • pointhedge

      Finds and returns a half-edge with a given source point or with given source and destination points.

    • pointhedgenext

      Returns the next half-edge with the same source as a given half-edge.

    • pointprims

      Returns the list of primitives containing a point.

    • pointvertex

      Returns a linear vertex number of a point in a geometry.

    • pointvertices

      Returns the list of vertices connected to a point.

    • prim_normal

      Returns the normal of the primitive (prim_number) at parametric location u, v.

    • primfind

      Returns a list of primitives potentially intersecting a given bounding box.

    • primhedge

      Returns one of the half-edges contained in a primitive.

    • primpoint

      Converts a primitive/vertex pair into a point number.

    • primpoints

      Returns the list of points on a primitive.

    • primvertex

      Converts a primitive/vertex pair into a linear vertex.

    • primvertexcount

      Returns number of vertices in a primitive in a geometry.

    • primvertices

      Returns the list of vertices on a primitive.

    • relbbox

      Returns the relative position of the point given with respect to the bounding box of the geometry.

    • relpointbbox

      Returns the relative position of the point given with respect to the bounding box of the geometry.

    • removepoint

      Removes a point from the geometry.

    • removeprim

      Removes a primitive from the geometry.

    • setedgegroup

      Sets edge group membership in a geometry.

    • setpointgroup

      Sets point group membership in a geometry.

    • setprimgroup

      Sets primitive group membership in a geometry.

    • setprimvertex

      Rewires a vertex in the geometry to a different point.

    • setvertexgroup

      Sets vertex group membership in a geometry.

    • setvertexpoint

      Rewires a vertex in the geometry to a different point.

    • tet_adjacent

      Returns primitive number of an adjacent tetrahedron.

    • tet_faceindex

      Returns vertex indices of each face of a tetrahedron.

    • uvdist

      Finds the distance of a uv coordinate to a geometry in uv space.

    • uvintersect

      This function computes the intersection of the specified ray with the geometry in uv space.

    • vertexhedge

      Returns the half-edge which has a vertex as source.

    • vertexindex

      Converts a primitive/vertex pair into a linear vertex.

    • vertexnext

      Returns the linear vertex number of next shared vertex in a geometry.

    • vertexpoint

      Returns the point number of linear vertex in a geometry.

    • vertexprev

      Returns the linear vertex number of previous shared vertex in a geometry.

    • vertexprim

      Returns the primitive number of a linear vertex in a geometry.

    • vertexprimindex

      Converts a linear vertex number into a vertex number within that primitive.

    • volume

      Returns the volume of the microvoxel containing a variable such as P.

    • volumegradient

      Calculates the volume primitive’s gradient.

    • volumeindex

      Gets the value of a specific voxel.

    • volumeindexorigin

      Gets the index of the bottom left of a volume primitive.

    • volumeindextopos

      Converts a volume voxel index into a position.

    • volumeindexv

      Gets the vector value of a specific voxel.

    • volumepostoindex

      Converts a position into a volume voxel index.

    • volumeres

      Gets the resolution of a volume primitive.

    • volumesample

      Samples the volume primitive’s value.

    • volumesamplev

      Samples the volume primitive’s vector value.

    • volumevoxeldiameter

      Computes the approximate diameter of a voxel.

    • xyzdist

      Finds the distance of a point to a geometry.

    Image Processing

    • accessframe

    • alphaname

      Returns the default name of the alpha plane (as it appears in the compositor preferences).

    • binput

      Returns bilinearly sampled input.

    • bumpname

      Returns the default name of the bump plane (as it appears in the compositor preferences).

    • chname

      Returns the channel name of the indexed plane.

    • cinput

      Returns point sampled input.

    • colorname

      Returns the default name of the color plane (as it appears in the compositor preferences).

    • depthname

      Returns the default name of the depth plane (as it appears in the compositor preferences).

    • dsmpixel

      Reads the z-records stored in a pixel of a deep shadow map or deep camera map.

    • finput

      Returns fully filtered pixel input.

    • hasmetadata

      Queries if metadata exists on a composite operator.

    • hasplane

      Returns 1 if the plane specified by the parameter exists in this COP.

    • iaspect

      Returns the aspect ratio of the specified input.

    • ichname

      Returns the channel name of the indexed plane of the given input (e.

    • iend

      Returns the last frame of the specified input.

    • iendtime

      Returns the end time of the specified input.

    • ihasplane

      Returns 1 if the specified input has a plane named planename.

    • inumplanes

      Returns the number of planes in the given input.

    • iplaneindex

      Returns the index of the plane named 'planename' in the specified input.

    • iplanename

      Returns the name of the plane specified by the planeindex of the given input

    • iplanesize

      Returns the number of components in the plane named planename in the specified input.

    • irate

      Returns the frame rate of the specified input.

    • istart

      Returns the starting frame of the specified input.

    • istarttime

      Returns the start time of the specified input.

    • ixres

      Returns the X resolution of the specified input.

    • iyres

      Returns the Y resolution of the specified input.

    • lumname

      Returns the default name of the luminence plane (as it appears in the compositor preferences).

    • maskname

      Returns the default name of the mask plane (as it appears in the compositor preferences).

    • metadata

      Returns a metadata value from a composite operator.

    • ninput

      Reads a pixel and its eight neighbors into a 3×3 matrix.

    • normalname

      Returns the default name of the normal plane (as it appears in the compositor preferences).

    • planeindex

      Returns the index of the plane specified by the parameter, starting at zero.

    • planename

      Returns the name of the plane specified by the index (e.

    • planesize

      Returns the number of components in the plane (1 for scalar planes and up to 4 for vector planes).

    • pointname

      Returns the default name of the point plane (as it appears in the compositor preferences).

    • velocityname

      Returns the default name of the velocity plane (as it appears in the compositor preferences).

    Math

    • Du

      Takes the derivative of the given value with respect to U.

    • Dv

      Takes the derivative of the given value with respect to V.

    • Dw

      Takes the derivative of the given value with respect to the 3rd axis, for volume rendering.

    • abs

      Returns the absolute value of the argument.

    • acos

      Returns the inverse cosine of the argument.

    • asin

      Returns the inverse sine of the argument.

    • atan

      Returns the inverse tangent of the argument.

    • atan2

      Returns the inverse tangent of y/x.

    • avg

      Returns the average value of the input(s)

    • blackbody

      Compute the color value of an incandescent black body.

    • cbrt

      Returns the cube root of the argument.

    • ceil

      Returns the smallest integer greater than or equal to the argument.

    • ckspline

      Computes a Catmull-Rom (Cardinal) spline between the key points specified.

    • clamp

      Returns value clamped between min and max.

    • clip

      Clip the line segment between p0 and p1.

    • cos

      Returns the cosine of the argument.

    • cosh

      Returns the hyperbolic cosine of the argument.

    • cracktransform

      Depending on the value of c, returns the translate (c=0), rotate (c=1), or scale (c=2) component of the transform (xform).

    • cross

      Returns the cross product between the two vectors.

    • cspline

      Computes a Catmull-Rom (Cardinal) spline between the key points specified.

    • determinant

      Computes the determinant of the matrix.

    • dihedral

      Computes the rotation matrix or quaternion which rotates the vector a onto the vector b.

    • distance

      Returns the distance between the two 3 or 4 dimensional point arguments.

    • distance2

      Returns the squared distance between the two 3 or 4 dimensional point arguments.

    • dot

      Returns the dot product between the arguments.

    • efit

      Takes the value in the range (omin, omax) and shifts it to the corresponding value in the new range (nmin, nmax).

    • eigenvalues

      Computes the eigenvalues of a matrix.

    • erf

      Gauss error function.

    • erf_inv

      Inverse Gauss error function.

    • erfc

      Gauss error function’s complement.

    • exp

      Returns the exponential function of the argument.

    • fit

      Takes the value in the range (omin, omax) and shifts it to the corresponding value in the new range (nmin, nmax).

    • fit01

      Takes the value in the range (0, 1) and shifts it to the corresponding value in the new range (nmin, nmax).

    • fit10

      Takes the value in the range (1, 0) and shifts it to the corresponding value in the new range (nmin, nmax).

    • fit11

      Takes the value in the range (-1, 1) and shifts it to the corresponding value in the new range (nmin, nmax).

    • floor

      Returns the largest integer less than or equal to the argument.

    • frac

      Returns the fractional component of the floating point number.

    • fresnel

      Computes the fresnel reflection/refraction contributions given an incoming vector, surface normal (both normalized), and an index of refraction (eta).

    • frontface

      If dot(I, Nref) is less than zero, N will be negated.

    • ident

      Return an identity matrix.

    • instance

      Creates an instance transform matrix.

    • invert

      Inverts the matrix.

    • isfinite

      Checks whether a value is a normal finite number.

    • isnan

      Checks whether a value is not a number.

    • kspline

      Returns an interpolated value along a spline curve.

    • length

      Returns the length of the vector or vector4.

    • length2

      Returns the squared distance of the vector or vector4.

    • lerp

      Performs bilinear interpolation between the values.

    • lkspline

      Computes a linear spline between the key points.

    • log

      Returns the natural logarithm of the argument.

    • log10

      Returns the logarithm (base 10) of the argument.

    • lookat

      Computes a rotation matrix or angles to orient the z-axis along the vector (to-from) under the transformation.

    • lspline

      Computes a linear spline between the key points.

    • luminance

      Compute the luminance of the RGB color specified by the parameters.

    • makebasis

      Creates an orthonormal basis given a z-axis vector.

    • maketransform

      Builds a 3×3 or 4×4 transform matrix.

    • max

    • min

    • normalize

      Returns the normalized vector.

    • outerproduct

      Returns the outer product between the arguments.

    • ow_nspace

      Transforms a normal vector from Object to World space.

    • ow_vspace

      Transforms a direction vector from Object to World space.

    • planepointdistance

      Computes the distance and closest point of a point to an infinite plane.

    • planesphereintersect

      Computes the intersection of a 3D sphere and an infinite 3D plane.

    • polardecomp

      Computes the polar decomposition of a matrix.

    • pow

      Raises the first argument to the power of the second argument.

    • predicate_incircle

      Determines if a point is inside or outside a triangle circumcircle.

    • predicate_insphere

      Determines if a point is inside or outside a tetrahedron circumsphere.

    • predicate_orient2d

      Determines the orientation of a point with respect to a line.

    • predicate_orient3d

      Determines the orientation of a point with respect to a plane.

    • product

      Returns the product of the vector’s components.

    • ptlined

      This function returns the closest distance between the point Q and a finite line segment between points P0 and P1.

    • qdistance

      Finds distance between two quaternions.

    • qinvert

      Inverts a quaternion rotation.

    • qmultiply

      Multiplies two quaternions and returns the result.

    • qrotate

      Rotates a vector by a quaternion.

    • quaternion

      Creates a vector4 representing a quaternion.

    • resample_linear

    • rint

      Rounds the number to the closest integer.

    • rotate

      Applies a rotation to the given matrix.

    • rotate_x_to

      Rotates a vector by a rotation that would bring the x-axis to a given direction.

    • scale

      Scales the given matrix in three directions simultaneously (X, Y, Z - given by the components of the scale_vector).

    • shl

      Bit-shifts an integer left.

    • shr

      Bit-shifts an integer right.

    • shrz

      Bit-shifts an integer right.

    • sign

      Returns the sign of the argument.

    • sin

      Returns the sine of the argument.

    • sinh

      Returns the hyperbolic sine of the argument.

    • slerp

      Quaternion blend between q1 and q2 based on the bias.

    • slideframe

      Finds the normal component of frame slid along a curve.

    • smooth

      Computes a number between zero and one.

    • smoothrotation

      Returns the closest equivalent Euler rotations to a reference rotation.

    • solvecubic

      Solves a cubic function returning the number of real roots.

    • solvepoly

      Finds the real roots of a polynomial.

    • solvequadratic

      Solves a quadratic function returning the number of real roots.

    • spline

      Returns an interpolated value along a polyline or spline curve.

    • sqrt

      Returns the square root of the argument.

    • sum

      Returns the sum of the vector’s components.

    • tan

      Returns the trigonometric tangent of the argument

    • tanh

      Returns the hyperbolic tangent of the argument

    • translate

      Translates the given matrix.

    • transpose

      Transposes the given matrix.

    • trunc

      If the argument is negative, this returns ceil(x), otherwise it returns floor(x).

    Nodes

    • addvariablename

      Adds the mapping of the attribute aname to the local variable vname.

    • ch

      Evaluates a channel (or parameter) and return its value.

    • ch3

      Evaluates a channel (or parameter) and return its value.

    • ch4

      Evaluates a channel (or parameter) and return its value.

    • chf

      Evaluates a channel (or parameter) and return its value.

    • chi

      Evaluates a channel (or parameter) and return its value.

    • chp

      Evaluates a channel (or parameter) and return its value.

    • chramp

      Evaluates a ramp parameter and return its value.

    • chs

      Evaluates a channel (or parameter) and return its value.

    • chsraw

      Returns the raw string channel (or parameter).

    • chv

      Evaluates a channel or parameter, and return its value.

    • isconnected

      Returns 1 if input_number is connected, or 0 if the input is not connected.

    • ninputs

      Returns the number of inputs.

    • opfullpath

      Returns the full path for the given relative path

    • opparentbonetransform

      Returns the parent bone transform associated with an OP.

    • opparenttransform

      Returns the parent transform associated with an OP.

    • opparmtransform

      Returns the parm transform associated with an OP.

    • oppreconstrainttransform

      Returns the preconstraint transform associated with an OP.

    • oppretransform

      Returns the pretransform associated with an OP.

    • optransform

      Returns the transform associated with an OP.

    Noise and Randomness

    • anoise

      These functions are similar to the Worley noise functions listed above.

    • curlnoise

      Computes divergence free noise based on Perlin noise.

    • curlnoise2d

      Computes 2d divergence free noise based on Perlin noise.

    • curlxnoise

      Computes divergence free noise based on Simplex noise.

    • curlxnoise2d

      Computes 2d divergence free noise based on simplex noise.

    • flownoise

      Generates 1D and 3D Perlin Flow Noise from 3D and 4D data.

    • flowpnoise

      There are two forms of Perlin-style noise: a non-periodic noise which changes randomly throughout N-dimensional space, and a periodic form which repeats over a given range of space.

    • hscript_noise

      Mimics the Houdini expression functions noise(), snoise(), turb(), and sturb().

    • hscript_rand

      Produces the exact same results as the Houdini expression function of the same name.

    • hscript_snoise

    • hscript_sturb

    • hscript_turb

    • noise

      There are two forms of Perlin-style noise: a non-periodic noise which changes randomly throughout N-dimensional space, and a periodic form which repeats over a given range of space.

    • noised

      Derivatives of Perlin Noise.

    • nrandom

      The nrandom() functions are non-deterministic random number generators for VEX.

    • onoise

      These functions are similar to wnoise and vnoise.

    • pnoise

      There are two forms of Perlin-style noise: a non-periodic noise which changes randomly throughout N-dimensional space, and a periodic form which repeats over a given range of space.

    • rand

      Creates a random number between 0 and 1 from a seed.

    • random

      Generate a random number based on the position in N dimensional space (where N is 1 to 4 dimensions).

    • random_fhash

      Hashes floating point numbers to integers.

    • random_ihash

      Hashes integer numbers to integers.

    • random_shash

      Hashes string to integers.

    • random_sobol

      Generate a uniformly distributed random number.

    • snoise

      These functions are similar to wnoise.

    • vnoise

      Voronoi noise gives almost identical results to the Worley noise functions.

    • wnoise

      Worley noise scatters points randomly through space (according to a nice Poisson distribution).

    • xnoise

      Simplex noise is very close to Perlin noise, except with the samples on a simplex mesh rather than a grid. This results in less grid artifacts. It also uses a higher order bspline to provide better derivatives.

    • xnoised

      Derivatives of Simplex Noise.

    Point Clouds and 3D Images

    • integrate3d

      This function will "integrate" the 3d image along the line specified by p0 and p1.

    • integrate3dClip

      The integrate3dClip function integrates along the ray described by p0 and p1 where "interesting" things start happening in a given I3D texture.

    • intersect3d

      This function intersects a ray (with it’s origin at p0 and extending to p1), against a 3d texture image.

    • mattrib

      Returns the value of the point attribute for the metaballs if metaball geometry is specified to i3dgen.

    • mdensity

      Returns the density of the metaball field if metaball geometry is specified to i3dgen.

    • mspace

      Transforms the position specified into the "local" space of the metaball.

    • pcclose

      This function closes the handle associated with a pcopen function.

    • pcconvex

    • pcexport

      Writes data to a point cloud inside a pciterate or a pcunshaded loop.

    • pcfarthest

      Returns the distance to the farthest point found in the search performed by pcopen.

    • pcfilter

      Filters the points found by pcopen using a simple reconstruction filter.

    • pcfind

      Returns a list of closest points from a file.

    • pcfind_radius

      Returns a list of closest points from a file taking into account their radii.

    • pcgenerate

      Generates a point cloud.

    • pcimport

      Imports channel data from a point cloud inside a pciterate or a pcunshaded loop.

    • pcimportbyidx3

      Imports channel data from a point cloud outside a pciterate or a pcunshaded loop.

    • pcimportbyidx4

      Imports channel data from a point cloud outside a pciterate or a pcunshaded loop.

    • pcimportbyidxf

      Imports channel data from a point cloud outside a pciterate or a pcunshaded loop.

    • pcimportbyidxi

      Imports channel data from a point cloud outside a pciterate or a pcunshaded loop.

    • pcimportbyidxp

      Imports channel data from a point cloud outside a pciterate or a pcunshaded loop.

    • pcimportbyidxs

      Imports channel data from a point cloud outside a pciterate or a pcunshaded loop.

    • pcimportbyidxv

      Imports channel data from a point cloud outside a pciterate or a pcunshaded loop.

    • pciterate

      This function can be used to iterate over all the points which were found in the pcopen query.

    • pcnumfound

      This node returns the number of points found by pcopen.

    • pcopen

      Returns a handle to a point cloud file.

    • pcopenlod

      Returns a handle to a point cloud file.

    • pcsampleleaf

      Changes the current iteration point to a leaf descendant of the current aggregate point.

    • pcsize

    • pcunshaded

      Iterate over all of the points of a read-write channel which haven’t had any data written to the channel yet.

    • pcwrite

      Writes data to a point cloud file.

    • pgfind

      Returns a list of closest points from a file.

    • photonmap

      The photonmap function will evaluate a photon map and return the resulting color information.

    • texture3d

      Returns the value of the 3d image at the position specified by P.

    • texture3dBox

      This function queries the 3D texture map specified and returns the bounding box information of the file.

    Sampling

    • create_cdf

      Creates a CDF from an array of input PDF values.

    • create_pdf

      Creates a PDF from an array of input values.

    • limit_sample_space

      Limits u in , in a way that maintains uniformity and in-range consistency.

    • newsampler

    • nextsample

    • sample_bsdf

      Samples a bsdf.

    • sample_cauchy

      Samples the Cauchy (Lorentz) distribution.

    • sample_cdf

      Samples a CDF based on a random variable.

    • sample_circle_arc

      Generates a uniform unit vector2, within maxangle of center, given a uniform number between 0 and 1.

    • sample_circle_edge_uniform

      Generates a uniform unit vector2, given a uniform number between 0 and 1.

    • sample_circle_slice

      Generates a uniform vector2 with length < 1, within maxangle of center, given a vector2 of uniform numbers between 0 and 1.

    • sample_circle_uniform

      Generates a uniform vector2 with length < 1, given a vector2 of uniform numbers between 0 and 1.

    • sample_direction_cone

      Generates a uniform unit vector, within maxangle of center, given a vector2 of uniform numbers between 0 and 1.

    • sample_direction_uniform

      Generates a uniform unit vector, given a vector2 of uniform numbers between 0 and 1.

    • sample_discrete

      Returns an integer, either uniform or weighted, given a uniform number between 0 and 1.

    • sample_exponential

      Samples the exponential distribution.

    • sample_geometry

      Samples geometry in the scene and returns information from the shaders of surfaces that were sampled.

    • sample_hemisphere

      Generates a unit vector, optionally biased, within a hemisphere, given a vector2 of uniform numbers between 0 and 1.

    • sample_hypersphere_cone

      Generates a uniform vector4 with length < 1, within maxangle of center, given a vector4 of uniform numbers between 0 and 1.

    • sample_hypersphere_uniform

      Generates a uniform vector4 with length < 1, given a vector4 of uniform numbers between 0 and 1.

    • sample_light

      Samples a 3D position on a light source and runs the light shader at that point.

    • sample_lognormal

      Samples the log-normal distribution based on parameters of the underlying normal distribution.

    • sample_lognormal_by_median

      Samples the log-normal distribution based on median and standard deviation.

    • sample_normal

      Samples the normal (Gaussian) distribution.

    • sample_orientation_cone

      Generates a uniform unit vector4, within maxangle of center, given a vector of uniform numbers between 0 and 1.

    • sample_orientation_uniform

      Generates a uniform unit vector4, given a vector of uniform numbers between 0 and 1.

    • sample_photon

      Samples a 3D position on a light source and runs the light shader at that point.

    • sample_sphere_cone

      Generates a uniform vector with length < 1, within maxangle of center, given a vector of uniform numbers between 0 and 1.

    • sample_sphere_uniform

      Generates a uniform vector with length < 1, given a vector of uniform numbers between 0 and 1.

    • sampledisk

      Warps uniform random samples to a disk.

    • solid_angle

      Computes the solid angle (in steradians) a bsdf’s function subtends.

    • split_bsdf

      Splits a bsdf into it’s component lobes.

    • variance

      Computes the mean value and variance for a value.

    Sensor Input

    Shading and Rendering

    • albedo

      Returns the albedo (percentage of reflected light) for a bsdf given the outgoing light direction.

    • ambient

      Returns the color of ambient light in the scene.

    • area

      Returns the area of the micropolygon containing a variable such as P.

    • ashikhmin

      Returns a specular BSDF using the Ashikhmin shading model

    • atten

      Computes attenuated falloff.

    • blinn

      Returns the illumination for specular highlights using the Blinn model.

    • blinnBRDF

    • bouncelabel

    • bouncemask

    • cone

    • cvex_bsdf

    • diffuse

      Returns the diffuse (Lambertian) illumination given the normalized surface normal.

    • diffuseBRDF

    • dimport

      Imports a variable from the displacement shader for the surface.

    • emission_bsdf

      Returns the emissive component of a bsdf.

    • eval_bsdf

      Evaluates a bsdf given two vectors.

    • fastshadow

      Sends a ray from the position P along the direction specified by the direction D.

    • filtershadow

      Sends a ray from the position P along direction D.

    • filterstep

      Returns the anti-aliased weight of the step function.

    • gather

      Sends rays into the scene and returns information from the shaders of surfaces hit by the rays.

    • getblurP

      Returns the blurred point position (P) vector at a fractional time within the motion blur exposure.

    • getbounces

    • getcomponents

    • getderiv

      Evaluates surface derivatives of an attribute.

    • getfogname

      Returns the name of the current object whose shader is being run.

    • getglobalraylevel

      Returns the depth of the ray tree for computing global illumination.

    • getgroupid

      Returns group id containing current primitive.

    • getlight

      Returns a light struct for the specified light identifier.

    • getlightid

      Returns the light id for a named light (or -1 for an invalid name).

    • getlightname

      Returns the name of the current light when called from within an illuminance loop, or converts an integer light ID into the light’s name.

    • getlights

      Returns an array of light identifiers for the currently shaded surface.

    • getlightscope

      Returns a selection of lights that illuminate a given material.

    • getlocalcurvature

      Evaluates local curvature of primitive grid, using the same curvature evaluation method as Measure SOPs.

    • getmaterial

      Returns a material struct for the current surface.

    • getmaterialid

      Returns material id of shaded primitive.

    • getobjectid

      Returns the object id for the current shading context.

    • getobjectname

      Returns the name of the current object whose shader is being run.

    • getphotonlight

      Returns the integer ID of the light being used for photon shading.

    • getprimid

      Returns the number of the current primitive.

    • getptextureid

      Returns the ptexture face id for the current primitive.

    • getraylevel

      Returns the depth of the ray tree for the current shading.

    • getrayweight

      Returns an approximation to the contribution of the ray to the final pixel color.

    • getsamplestore

      Looks up sample data in a channel, referenced by a point.

    • getscope

      Returns a selection of objects visible to rays for a given material.

    • getsmoothP

      Returns modified surface position based on a smoothing function.

    • getuvtangents

      Evaluates UV tangents at a point on an arbitrary object.

    • gradient

      Returns the gradient of a field.

    • hair

    • haslight

      Returns whether a light illuminates the given material.

    • henyeygreenstein

      Returns an anisotropic volumetric bsdf, which can scatter light forward or backward.

    • illuminance

      Loops through all light sources in the scene, calling the light shader for each light source to set the Cl and L global variables.

    • importance_light

      Returns an estimate of a light’s contribution to the overall scene lighting.

    • interpolate

      Interpolates a value across the currently shaded micropolygon.

    • intersect_lights

      Finds the nearest intersection of a ray with any of a list of (area) lights and runs the light shader at the intersection point.

    • irradiance

      Computes irradiance (global illumination) at the point P with the normal N.

    • isfogray

      Returns 1 if the shader is being called to evaluate illumination for fog objects, or 0 if the light or shadow shader is being called to evaluate surface illumination.

    • isotropic

      Returns an isotropic bsdf, which scatters light equally in all directions.

    • israytracing

      Indicates whether a shader is being executed for ray tracing.

    • isshadowray

      Returns 1 if the shader is being called to evaluate opacity for shadow rays, or 0 if the shader is being called to evaluate for surface color.

    • istracing

      Returns 1 if the shader is invoked by ray-tracing and 0 for micro-polygon rendering.

    • isuvrendering

      Indicats whether the shader is being evaulated while doing UV rendering (e.g. texture unwrapping)

    • lightbounces

      Returns the bounce mask for a light struct.

    • lightid

      Returns the light id for a light struct.

    • limport

      Imports a variable from the light shader for the surface.

    • matchvex_blinn

    • matchvex_specular

    • nbouncetypes

    • normal_bsdf

      Returns the normal for the diffuse component of a bsdf.

    • occlusion

      Computes ambient occlusion.

    • pathtrace

    • phong

      Returns the illumination for specular highlights using different lighting models.

    • phongBRDF

    • phonglobe

    • rayhittest

      Sends a ray from the position P along the direction D.

    • rayimport

      Imports a value sent by a shader in a gather loop.

    • reflect

      Returns the vector representing the reflection of the direction against the normal.

    • reflectlight

      Computes the amount of reflected light which hits the surface.

    • refract

      Returns the refraction ray given an incoming direction, the normalized normal and an index of refraction.

    • refractlight

      Computes the illumination of surfaces refracted by the current surface.

    • renderstate

      Queries the renderer for a named property.

    • resolvemissedray

      Returns the background color for rays that exit the scene.

    • scatter

      Evaluates a scattering event through the domain of a geometric object.

    • setcurrentlight

      Sets the current light

    • setsamplestore

      Stores sample data in a channel, referenced by a point.

    • shadow

      Calls shadow shaders for the current light source.

    • shadow_light

      Executes the shadow shader for a given light and returns the amount of shadowing as a multiplier of the shaded color.

    • shimport

      Imports a variable from the shadow shader for the surface.

    • simport

      Imports a variable sent by a surface shader in an illuminance loop.

    • specular

      Returns the illumination for specular highlights using different lighting models.

    • specularBRDF

      Returns the computed BRDFs for the different lighting models used in VEX shading.

    • sssapprox

      Creates an approximate SSS BSDF.

    • storelightexport

      Stores exported data for a light.

    • switch

      Use a different bsdf for direct or indirect lighting.

    • trace

      Sends a ray from P along the normalized vector D.

    • translucent

      Returns the lambertian translucence given the surface normal.

    • uvunwrap

      Computes the position and normal of an object given a (u, v) coordinate

    • wireblinn

    • wirediffuse

    • writepixel

      Writes color information to a pixel in the output image

    Strings

    • chr

      Converts an unicode codepoint to a UTF8 string.

    • concat

      Concatenate all the strings specified to form a single string.

    • endswith

      Indicates the string ends with the specified string.

    • isalpha

      Returns 1 if all the characters in the string are alphabetic

    • isdigit

      Returns 1 if all the characters in the string are numeric

    • itoa

      Converts an integer to a string.

    • join

      Concatenate all the strings of an array inserting a common spacer.

    • lstrip

      Strips leading whitespace from a string.

    • match

      This function returns 1 if the subject matches the pattern specified, or 0 if the subject doesn’t match.

    • opdigits

      Returns the integer value of the last sequence of digits of a string

    • ord

      Converts an UTF8 string into a codepoint.

    • pluralize

      Converts an English noun to its plural.

    • re_find

      Finds the given regular expression in the string

    • re_findall

      Finds all instances of the given regular expression in the string

    • re_match

      Returns 1 if the entire input string matches the expression

    • re_replace

      Replaces instances of regex_find with regex_replace

    • re_split

      Splits the given string based on regex match.

    • relativepath

      Computes the relative path for two full paths.

    • rstrip

      Strips trailing whitespace from a string.

    • split

      Splits a string into tokens.

    • splitpath

      Splits a file path into the directory and name parts.

    • sprintf

      Formats a string like printf but returns the result as a string instead of printing it.

    • startswith

      Returns 1 if the string starts with the specified string.

    • strip

      Strips leading and trailing whitespace from a string.

    • strlen

      Returns the length of the string.

    • titlecase

      Returns a string that is the titlecase version of the input string.

    • tolower

      Converts all charactors in string to lower case

    • toupper

      Convers all charactors in string to upper case

    string, array

    • find

      Finds an item in an array or string.

    Texturing

    • colormap

      Looks up a color from a disk image.

    • depthmap

      The depthmap functions work on an image which was rendered as a z-depth image from mantra.

    • environment

      Returns the color of the environment texture.

    • expand_udim

      Perform UDIM or UVTILE texture filename expansion.

    • gradient3d

      Returns the gradient of a single channel texture image at the position specified by P.

    • ocean_sample

      Evaluates an ocean spectrum and samples the result at a given time and location.

    • ptexture

      Computes a filtered sample from a ptex texture map.

    • rawcolormap

    • shadowmap

      The shadowmap function will treat the shadow map as if the image were rendered from a light source.

    • teximport

      Imports attributes from texture files.

    • texprintf

      Similar to sprintf, but does expansion of UDIM or UVTILE texture filename expansion.

    • texture

      Computes a filtered sample of the texture map specified.

    Transforms and Space

    • ctransform

      Transforms between color spaces.

    • fromNDC

      Transforms a position from normal device coordinates to the coordinates in the appropriate space.

    • getspace

      See getspace

    • ntransform

      See ptransform.

    • ocio_import

      Imports attributes from OpenColorIO spaces.

    • ocio_spaces

      Returns the names of color spaces supported in Open Color IO

    • ocio_transform

      Transform colors using Open Color IO

    • ow_space

      Transforms a position value from Object to World space.

    • ptransform

      Transforms a vector from one space to another.

    • toNDC

      Transforms a position into normal device coordinates.

    • tw_nspace

      Transforms a normal vector from Texture to World space.

    • tw_space

      Transforms a position value from Texture to World space.

    • tw_vspace

      Transforms a direction vector from Texture to World space.

    • vtransform

      See ptransform.

    • wo_nspace

      Transforms a normal vector from World to Object space.

    • wo_space

      Transforms a position value from World to Object space.

    • wo_vspace

      Transforms a direction vector from World to Object space.

    • wt_nspace

      Transforms a normal vector from World to Texture space.

    • wt_space

      Transforms a position value from World to Texture space.

    • wt_vspace

      Transforms a direction vector from World to Texture space.

    Utility

    • assert_enabled

      Returns 1 if the VEX assertions are enabled (see HOUDINI_VEX_ASSERT) or 0 if assertions are disabled.

    • assign

      An efficient way of extracting the components of a vector, vector4, matrix3 or matrix to float variables.

    • error

      Reports a custom runtime VEX error.

    • forpoints

    • getcomp

      Extracts a single component of a vector type, matrix type, or array.

    • isbound

      Parameters in VEX can be overridden by geometry attributes (if the attributes exist on the surface being rendered).

    • isvarying

      Check whether a VEX variable is varying or uniform.

    • opend

      End a long operation.

    • opstart

      Start a long operation.

    • pack_inttosafefloat

      Reversibly packs an integer into a finite, non-denormal float.

    • print_once

      Prints string arguments exactly one time.

    • printf

      Prints values to the console which started the VEX program.

    • select

      Returns one of two parameters based on a conditional.

    • set

      These two functions provide a very efficient way of creating a vector/vector4.

    • setcomp

      Sets a single component of a vector type, matrix type, or array.

    • sleep

      Yields processing for a certain number of milliseconds.

    • swizzle

      Rearranges components of a vector.

    • unpack_intfromsafefloat

      Reverses the packing of pack_inttosafefloat to get back the original integer.

    • warning

      Reports a custom runtime VEX warning.