On this page 
The COP evaluation works by setting either the R, G, B, A or the Cr,Cg, Cb,C4 variables. The variables are initialized to the color of the first input (or zero for R, G, B and 1 for A if there is no input). It then calls the COP function. If any of the variables are modified, then they will be used to determine the new color for the current pixel.
The RGBA variables are for programmer convenience; they read and write directly to the Color and Alpha planes. Reading from RGB and A will give you the value of the first input’s color plane and alpha plane. If one or both of these planes do not exist, 0 will be returned. If you are writing to R, G, B or A and either Color and/or Alpha doesn’t exist, the planes will be created for you. If you only write to R, a full Color plane will be created, but with the G and B channels set to 0.
The channel variables, Cr to C4, are more flexible. They allow you to write to any plane’s channels. If a channel of a plane does not exist and you write to it, nothing happens. For example, when cooking the Alpha plane (with only 1 channel), if Cg, Cb or C4 is written to, the data is lost; only Cr is valid. However, no error occurs, since it is possible to have planes with different sizes in the same sequence. You can read from a channel variable in exactly the same way as reading from the R,G,B and A variables. The channel variable will be filled with the pixel values from the plane in the first input corresponding to the one being cooked. You should not mix writing to R,G,B,A and Cr,Cg,Cb,C4 in the same VEX function. While it will not harm anything, it can lead to confusing results if you are writing different things to R and Cr and the function is cooking the Color plane.
Globals
int 
XRES

Read only 
Horizontal resolution (in pixels) of the image being processed. 
int 
YRES

Read only 
Vertical resolution (in pixels) of the image being processed. 
float 
AR

Read only 
Aspect ratio of the image being processed. 
float 
R

Red value of the current pixel, a floating point number between 0 and 1. If the COP does not have a color plane (C), one will be created. 

float 
G

Green value of the current pixel, a floating point number between 0 and 1. If the COP does not have a color plane (C), one will be created. 

float 
B

Blue value of the current pixel, a floating point number between 0 and 1. If the COP does not have a color plane (C), one will be created. 

float 
A

Alpha value of the current pixel, a floating point number between 0 and 1. If the COP does not have an alpha plane (A), one will be created. 

float 
Cr

Value of plane component 1. Unlike R, this represents the current plane’s values. 

float 
Cg

Value of plane component 2. Unlike G, this represents the current plane’s values. 

float 
Cb

Value of plane component 3. Unlike B, this represents the current plane’s values. 

float 
C4

Value of plane component 4. Unlike A, this represents the current plane’s values. 

string 
PNAME

Read only 
Name of the current plane being cooked. 
int 
PL

Read only 
Index of the current plane being cooked. 
int 
NP

Read only 
Number of planes in the image (for example, for an RGBA image this would be 2 since the COP contains 2 planes, Color and Alpha). 
int 
PS

Read only 
Size of the current plane being cooked (the number of channels). 
int 
AI

Read only 
Array index of the current plane that is being cooked (from 0 to AS1). 
int 
AS

Read only 
Array size of the current plane. 
int 
I

Read only 
Index number of the current image, starting at 0. 
int 
NI

Read only 
Number of images in the sequence. 
float 
H

Read only 
Hue of the current pixel, a floating point number from 0 to 1. HSV is calculated based on the Color plane (C), not the current plane. 
float 
S

Read only 
Saturation of the current pixel, a floating point number from 0 to 1. 
float 
V

Read only 
Value (or intensity) of the current pixel, a floating point number from 0 to 1. 
float 
X

Read only 
Horizontal location of the center of the current pixel being shaded in the range 0 to 1. Zero being the left hand side of the image, and 1 being the right hand side. 
float 
Y

Read only 
Vertical location of the center of the current pixel being shaded in the range 0 to 1. Zero being the bottom of the image, and 1 being the top. 
int 
IX

Read only 
Horizontal position of the pixel currently being shaded. This will be in the range of (0, XRES1). 
int 
IY

Read only 
Vertical position of the pixel currently being shaded. This will be in the range of (0, YRES1). 
int 
SF

Read only 
Starting frame of the current sequence. 
int 
EF

Read only 
End frame of the current sequence. 
int 
F

Read only 
Frame number of the current image. 
int 
FR

Read only 
Frame rate of the current sequence. 
float 
TIME

Read only 
Time of the current image. 
float 
TINC

Read only 
Time increment between frames at the global frame rate. 
float 
PXSC

Read only 
The pixel scale that is currently being used in the cook. At 50% resolution, this global will have a value of 0.5. This is useful for scaling any kernels, pixel translations and lengths so that proxy images look similar to the full resolution result. 
Functions

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

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

Returns the derivative of the given value with respect to the 3rd axis (for volume rendering).

Returns the absolute value of the argument.

Tells the COP manager that you need access to the given frame.

Returns the inverse cosine of the argument.

Adds an attribute to a geometry.

Adds a detail attribute to a geometry.

Adds a point to the geometry.

Adds a point attribute to a geometry.

Adds a primitive to the geometry.

Adds a primitive attribute to a geometry.

Adds a mapping for an attribute to a local variable.

Adds a vertex to a primitive in a geometry.

Adds a vertex attribute to a geometry.

Appends to a geometry’s visualizer detail attribute.

Add a clip into an agent’s definition.

Returns all of the animation clips that have been loaded for an agent primitive.

Finds the index of a channel in an agent’s animation clip.

Returns the names of the channels in an agent’s animation clip.

Returns the length (in seconds) of an agent’s animation clip.

Returns an agent primitive’s current animation clips.

Samples a channel of an agent’s clip at a specific time.

Samples an agent’s animation clip at a specific time.

Returns the sample rate of an agent’s animation clip.

Samples an agent’s animation clip at a specific time.

Returns the current times for an agent primitive’s animation clips.

Returns the transform groups for an agent primitive’s current animation clips.

Returns the blend weights for an agent primitive’s animation clips.

Returns the name of the collision layer of an agent primitive.

Returns the name of the current layer of an agent primitive.

Finds the index of a transform group in an agent’s definition.

Returns the transform that each shape in an agent’s layer is bound to.

Returns all of the layers that have been loaded for an agent primitive.

Returns the names of the shapes referenced by an agent primitive’s layer.

Returns the current local space transform of an agent primitive’s bone.

Returns the current local space transforms of an agent primitive.

Returns the child transforms of a transform in an agent primitive’s rig.

Finds the index of a transform in an agent primitive’s rig.

Returns the parent transform of a transform in an agent primitive’s rig.

Applies a fullbody inverse kinematics algorithm to an agent’s skeleton.

Returns the number of transforms in an agent primitive’s rig.

Returns whether a transform is a member of the specified transform group.

Returns the names of the transform groups in an agent’s definition.

Returns the weight of a member of the specified transform group.

Returns the name of each transform in an agent primitive’s rig.

Converts transforms from world space to local space for an agent primitive.

Converts transforms from local space to world space for an agent primitive.

Returns the current world space transform of an agent primitive’s bone.

Returns the current world space transforms of an agent primitive.

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

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

Generates "alligator" noise.

Adds an item to an array or string.

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

Returns the indices of a sorted version of an array.

Efficiently creates an array from its arguments.

Returns a specular BSDF using the Ashikhmin shading model.

Returns the inverse sine of the argument.

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

An efficient way of extracting the components of a vector or matrix into float variables.

Returns the inverse tangent of the argument.

Returns the inverse tangent of y/x.

Converts a string to a float.

Converts a string to an integer.

Computes attenuated falloff.

Reads the value of an attribute from geometry.

Returns the class of a geometry attribute.

Returns the data id of a geometry attribute.

Returns the size of a geometry attribute.

Returns the type of a geometry attribute.

Returns the transformation metadata of a geometry attribute.

Returns the average value of the input(s)

Samples a 2×2 pixel block around the given UV position, and bilinearly interpolates these pixels.

Compute the color value of an incandescent black body.

Returns a Blinn BSDF or computes Blinn shading.

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

Returns the cube root of the argument.

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

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

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

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

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

Evaluates a channel with a new segment expression.

Evaluates a channel with a new segment expression at a given frame.

Evaluates a channel with a new segment expression at a given time.

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

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

Returns the name of a numbered channel.

Returns the value of a CHOP channel at the specified sample.

Returns the value of a CHOP channel at the specified sample and evaluation time.

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

Converts an unicode codepoint to a UTF8 string.

Evaluates a ramp parameter and return its value.

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

Returns the raw string channel (or parameter).

Evaluates a channel or parameter, and return its value.

Evaluates a channel or parameter, and return its value.

Samples the exact (unfiltered) pixel color at the given coordinates.

Samples a CatmullRom (Cardinal) spline defined by position/value keys.

Returns value clamped between min and max.

Clip the line segment between p0 and p1.

Looks up a (filtered) color from a texture file.

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

In shading contexts, computes a normal. In the SOP contexts, sets how/whether to recompute normals.

Concatenate all the strings specified to form a single string.

Returns a cone reflection BSDF.

Returns the cosine of the argument.

Returns the hyperbolic cosine of the argument.

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

Creates a CDF from an array of input PDF values.

Creates a PDF from an array of input values.

Returns the cross product between the two vectors.

Samples a CatmullRom (Cardinal) spline defined by uniformly spaced keys.

Transforms between color spaces.

Computes divergence free noise based on Perlin noise.

Computes 2d divergence free noise based on Perlin noise.

Computes divergence free noise based on Simplex noise.

Computes 2d divergence free noise based on simplex noise.

Creates a bsdf object from two CVEX shader strings.

Generates Worley (cellular) noise using a Chebyshev distance metric.

Converts the argument from radians into degrees.

The depthmap functions work on an image which was rendered as a zdepth image from mantra.

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

Reads the value of a detail attribute value from a geometry.

Reads a detail attribute value from a geometry.

Returns the size of a geometry detail attribute.

Returns the type of a geometry detail attribute.

Returns the type info of a geometry attribute.

Reads the value of a detail intrinsic from a geometry.

Computes the determinant of the matrix.

Diagonalizes Symmetric Matrices.

Returns a diffuse BSDF or computes diffuse shading.

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

Returns the distance between two points.

Returns the squared distance between the two points.

Returns the dot product between the arguments.

Reads the zrecords stored in a pixel of a deep shadow map or deep camera map.

Takes the value in one range and shifts it to the corresponding value in a new range.

Computes the eigenvalues of a 3×3 matrix.

Indicates the string ends with the specified string.

Returns the color of the environment texture.

Gauss error function.

Inverse Gauss error function.

Gauss error function’s complement.

Reports a custom runtime VEX error.

Creates a vector4 representing a quaternion from euler angles.

Evaluates a bsdf given two vectors.

Returns the exponential function of the argument.

Perform UDIM or UVTILE texture filename expansion.

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

Returns file system status for a given file.

Returns the antialiased weight of the step function.

Finds an item in an array or string.

Finds a primitive/point/vertex that has a certain attribute value.

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

Returns fully filtered pixel input.

Takes the value in one range and shifts it to the corresponding value in a new range.

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

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

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

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

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

There are two forms of Perlinstyle noise: a nonperiodic noise which changes randomly throughout Ndimensional space, and a periodic form which repeats over a given range of space.

Returns the fractional component of the floating point number.

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

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

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

Returns a handle to the current geometry.

Returns an oppath: string to unwrap the geometry inplace.

Reads an attribute value from geometry, with validity check.

Copies the value of a geometry attribute into a variable and returns a success flag.

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

Returns the center of the bounding box for the geometry.

Returns the maximum of the bounding box for the geometry.

Returns the minimum of the bounding box for the geometry.

Returns the size of the bounding box for the geometry.

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

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

Gets the transform of a packed primitive.

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

Returns the center of the bounding box for the geometry.

Returns the maximum of the bounding box for the geometry.

Returns the minimum of the bounding box for the geometry.

Returns the size of the bounding box for the geometry.

Returns a transform from one space to another.

Returns the gradient of a field.

Returns a BSDF for shading hair.

Checks whether a geometry attribute exists.

Returns if a geometry detail attribute exists.

Queries if metadata exists on a composite operator.

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

Returns if a geometry point attribute exists.

Returns if a geometry prim attribute exists.

Returns if a geometry vertex attribute exists.

Returns the destination point of a halfedge.

Returns the destination vertex of a halfedge.

Returns the number of halfedges equivalent to a given halfedge.

Determines whether a two halfedges are equivalent (represent the same edge).

Determines whether a halfedge number corresponds to a primary halfedge.

Determines whether a halfedge number corresponds to a valid halfedge.

Returns the halfedge that follows a given halfedge in its polygon.

Returns the next halfedges equivalent to a given halfedge.

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

Returns the vertex following the destination vertex of a halfedge in its primitive.

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

Returns the vertex that precedes the source vertex of a halfedge in its primitive.

Returns the halfedge that precedes a given halfedge in its polygon.

Returns the primitive that contains a halfedge.

Returns the primary halfedge equivalent to a given halfedge.

Returns the source point of a halfedge.

Returns the source vertex of a halfedge.

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

Generates noise matching the output of the Hscript noise() expression function.

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

Generates turbulence matching the output of the HScript turb() expression function.

Convert HSV color space into RGB color space.

Returns the aspect ratio of the specified input.

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

Returns an identity matrix.

Finds a point by its id attribute.

Finds a primitive by its id attribute.

Returns the last frame of the specified input.

Returns the end time of the specified input.

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

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

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

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

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

Creates an instance transform matrix.

Interpolates a value across the currently shaded micropolygon.

This function computes the first intersection of a ray with geometry.

Computes all intersections of the specified ray with geometry.

Returns the number of planes in the given input.

Inverts a matrix.

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

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

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

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

Returns the frame rate of the specified input.

Returns 1 if all the characters in the string are alphabetic

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

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

Returns 1 if all the characters in the string are numeric

Checks whether a value is a normal finite number.

Checks whether a value is not a number.

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

Returns the starting frame of the specified input.

Returns the start time of the specified input.

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

Check whether a VEX variable is varying or uniform.

Converts an integer to a string.

Returns the X resolution of the specified input.

Returns the Y resolution of the specified input.

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

Returns an interpolated value along a curve defined by a basis and key/position pairs.

Returns the length of an array.

Returns the magnitude of a vector.

Returns the squared distance of the vector or vector4.

Performs bilinear interpolation between the values.

Limits a unit value in a way that maintains uniformity and inrange consistency.

Samples a polyline between the key points.

Returns the natural logarithm of the argument.

Returns the logarithm (base 10) of the argument.

Computes a rotation matrix or angles to orient the zaxis along the vector (tofrom) under the transformation.

Samples a polyline defined by linearly spaced values.

Strips leading whitespace from a string.

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

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

Creates an orthonormal basis given a zaxis vector.

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

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

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

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

Returns a BSDF that matches the output of the traditional VEX blinn function.

Returns a BSDF that matches the output of the traditional VEX specular function.

Returns a metadata value from a composite operator.

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

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

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

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

Returns the metaweight of the geometry at position p.

Finds the closest position on the surface of a geometry.

Generates Worley (cellular) noise using a Manhattan distance metric.

Finds a point by its name attribute.

Finds a primitive by its name attribute.

Finds the closest point in a geometry.

Finds the all the closest point in a geometry.

Returns the number of edges in the group.

Returns the point number of the next point connected to a given point.

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

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

Reads a component from a pixel and its eight neighbors.

There are two forms of Perlinstyle noise: a nonperiodic noise which changes randomly throughout Ndimensional space, and a periodic form which repeats over a given range of space.

Derivatives of Perlin Noise.

Returns the normal for the diffuse component of a BSDF.

Returns a normalized vector.

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

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

Returns the number of points in the group.

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

Returns the number of primitives in the group.

Nondeterministic random number generation function.

Transforms a normal vector.

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

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

Returns the number of vertices in the group.

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

Returns the names of active displays supported in Open Color IO

Returns the names of active views supported in Open Color IO

Imports attributes from OpenColorIO spaces.

Returns the names of roles supported in Open Color IO

Returns the names of color spaces supported in Open Color IO.

Transform colors using Open Color IO

These functions are similar to wnoise and vnoise.

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

Returns the full path for the given relative path

Returns the parent bone transform associated with an OP.

Returns the parent transform associated with an OP.

Returns the parm transform associated with an OP.

Returns the preconstraint transform associated with an OP.

Returns the pretransform associated with an OP.

Returns the transform associated with an OP.

Converts an UTF8 string into a codepoint.

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

Outputs the Houdini face and UV coordinates corresponding to the given coordinates on an OSD patch.

Outputs the OSD patch and UV coordinates corresponding to the given coordinates on a Houdini polygon face.

Returns a list of patch IDs for the patches in a subdivision hull.

Returns the outer product between the arguments.

Transforms a normal vector from Object to World space.

Transforms a position value from Object to World space.

Transforms a direction vector from Object to World space.

Reversibly packs an integer into a finite, nondenormal float.

Transforms a packed primitive.

This function closes the handle associated with a pcopen function.

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

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

Filters points found by pcopen using a simple reconstruction filter.

Returns a list of closest points from a file.

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

Generates a point cloud.

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

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

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

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

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

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

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

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

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

This node returns the number of points found by pcopen.

Returns a handle to a point cloud file.

Returns a handle to a point cloud file.

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

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

Writes data to a point cloud file.

Returns a list of closest points from a file.

Samples a color from a photon map.

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

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

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

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

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

Converts an English noun to its plural.

There are two forms of Perlinstyle noise: a nonperiodic noise which changes randomly throughout Ndimensional space, and a periodic form which repeats over a given range of space.

Reads a point attribute value from a geometry.

Reads a point attribute value from a geometry and outputs a success/fail flag.

Returns the size of a geometry point attribute.

Returns the type of a geometry point attribute.

Returns the type info of a geometry attribute.

Finds and returns a halfedge with the given endpoints.

Finds and returns a halfedge with a given source point or with given source and destination points.

Returns the next halfedge with the same source as a given halfedge.

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

Returns the list of primitives containing a point.

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

Returns the list of vertices connected to a point.

Computes the polar decomposition of a matrix.

Returns an array of the primitive numbers of the edgeneighbours of a polygon.

Removes the last element of an array and returns it.

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

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

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

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

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

Reads a primitive attribute value from a geometry.

Interpolates the value of an attribute at a certain parametric (u, v) position and copies it into a variable.

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

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

Reads a primitive attribute value from a geometry, outputting a success flag.

Returns the size of a geometry prim attribute.

Returns the type of a geometry prim attribute.

Returns the type info of a geometry attribute.

Returns position derivative on a primitive at a certain parametric (u, v) position.

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

Returns one of the halfedges contained in a primitive.

Reads a primitive intrinsic from a geometry.

Converts a primitive/vertex pair into a point number.

Returns the list of points on a primitive.

Interpolates the value of an attribute at a certain parametric (uvw) position.

Convert parametric UV locations on curve primitives between different spaces.

Converts a primitive/vertex pair into a linear vertex.

Returns number of vertices in a primitive in a geometry.

Returns the list of vertices on a primitive.

Prints a message only once, even in a loop.

Prints values to the console which started the VEX program.

Returns the product of a list of numbers.

Computes a filtered sample from a ptex texture map. Use texture instead.

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

Transforms a vector from one space to another.

Adds an item to an array.

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. This is the periodic simplex noise

Periodic derivatives of Simplex Noise.

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

Finds distance between two quaternions.

Inverts a quaternion rotation.

Multiplies two quaternions and returns the result.

Rotates a vector by a quaternion.

Creates a vector4 representing a quaternion.

Creates a euler angle representing a quaternion.

Converts the argument from degrees into radians.

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

Generate a random number based on the position in 14D space.

Hashes floating point numbers to integers.

Hashes integer numbers to integers.

Generates a random Poisson variable given the mean to the distribution and a seed.

Hashes a string to an integer.

Generate a uniformly distributed random number.

Looks up an unfiltered color from a texture file.

Matches a regular expression in a string

Finds all instances of the given regular expression in the string

Returns 1 if the entire input string matches the expression

Replaces instances of regex_find with regex_replace

Splits the given string based on regex match.

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

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

Computes the relative path for two full paths.

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

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

Removes an item at the given index from an array.

Removes a point from the geometry.

Removes a primitive from the geometry.

Removes an item from an array.

Reorders items in an array or string.

Sets the length of an array.

Returns an array or string in reverse order.

Convert RGB color space to HSV color space.

Convert a linear sRGB triplet to CIE XYZ tristimulus values.

Rounds the number to the closest whole number.

Applies a rotation to the given matrix.

Rotates a vector by a rotation that would bring the xaxis to a given direction.

Strips trailing whitespace from a string.

Samples a BSDF.

Samples the Cauchy (Lorentz) distribution.

Samples a CDF.

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

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

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

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

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

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

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

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

Samples the exponential distribution.

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

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

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

Samples the lognormal distribution based on parameters of the underlying normal distribution.

Samples the lognormal distribution based on median and standard deviation.

Samples the normal (Gaussian) distribution.

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

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

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

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

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

Warps uniform random samples to a disk.

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

Returns one of two parameters based on a conditional.

Sensor function to render GL scene and query the result.

Sensor function query a rendered GL scene.

Sensor function to query average values from rendered GL scene.

Sensor function query a rendered GL scene.

Sensor function to save a rendered GL scene.

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

Creates a new value based on its arguments, such as creating a vector from its components.

Sets the current animation clips for an agent primitive.

Sets the animation clips that an agent should use to compute its transforms.

Sets the current times for an agent primitive’s animation clips.

Sets the blend weights for an agent primitive’s animation clips.

Sets the collision layer of an agent primitive.

Sets the current layer of an agent primitive.

Overrides the local space transform of an agent primitive’s bone.

Overrides the local space transforms of an agent primitive.

Overrides the world space transform of an agent primitive’s bone.

Overrides the world space transforms of an agent primitive.

Writes an attribute value to geometry.

Sets the meaning of an attribute in geometry.

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

Sets a detail attribute in a geometry.

Sets edge group membership in a geometry.

Sets the transform of a packed primitive.

Sets a point attribute in a geometry.

Adds or removes a point to/from a group in a geometry.

Sets a primitive attribute in a geometry.

Adds or removes a primitive to/from a group in a geometry.

Sets the value of a writeable primitive intrinsic attribute.

Rewires a vertex in the geometry to a different point.

Sets a vertex attribute in a geometry.

Adds or removes a vertex to/from a group in a geometry.

Rewires a vertex in the geometry to a different point.

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

Bitshifts an integer left.

Bitshifts an integer right.

Bitshifts an integer right.

Returns 1, 0, or 1 depending on the sign of the argument.

Returns the sine of the argument.

Returns the hyperbolic sine of the argument.

Yields processing for a certain number of milliseconds.

Quaternion blend between q1 and q2 based on the bias.

Slices a substring or subarray of a string or array.

Finds the normal component of frame slid along a curve.

Computes ease in/out interpolation between values.

Returns the closest equivalent Euler rotations to a reference rotation.

These functions are similar to wnoise.

Computes the solid angle (in steradians) a BSDF function subtends.

Solves a cubic function returning the number of real roots.

Applies a fullbody inverse kinematics algorithm to a skeleton.

Finds the real roots of a polynomial.

Solves a quadratic function returning the number of real roots.

Returns the array sorted in increasing order.

Returns a specular BSDF or computes specular shading.

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

Samples a value along a polyline or spline curve.

Splits a string into tokens.

Splits a bsdf into its component lobes.

Splits a file path into the directory and name parts.

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

Returns the square root of the argument.

Creates an approximate SSS BSDF.

Returns 1 if the string starts with the specified string.

Strips leading and trailing whitespace from a string.

Returns the length of the string.

Returns the sum of a list of numbers.

Finds the distance of a point to a group of points along the surface of a geometry.

Use a different bsdf for direct or indirect lighting.

Rearranges the components of a vector.

Returns the trigonometric tangent of the argument

Returns the hyperbolic tangent of the argument

Returns primitive number of an adjacent tetrahedron.

Returns vertex indices of each face of a tetrahedron.

Imports attributes from texture files.

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

Computes a filtered sample of the texture map specified.

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

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

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

Transforms a position into normal device coordinates.

Converts all characters in string to lower case

Converts all characters in string to upper case

Translates a matrix by a vector.

Returns a Lambertian translucence BSDF.

Transposes the given matrix.

Removes the fractional part of a floating point number.

Transforms a normal vector from Texture to World space.

Transforms a position value from Texture to World space.

Transforms a direction vector from Texture to World space.

Returns one of the set of unique values across all values for an int or string attribute.

Returns the set of unique values across all values for an int or string attribute.

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

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

Adds a uniform item to an array.

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

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

Interpolates the value of an attribute at certain UV coordinates using a UV attribute.

Computes the position and normal at given (u, v) coordinates.

Computes the mean value and variance for a value.

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

Reads a vertex attribute value from a geometry.

Reads a vertex attribute value from a geometry.

Returns the size of a geometry vertex attribute.

Returns the type of a geometry vertex attribute.

Returns the type info of a geometry attribute.

Returns the halfedge which has a vertex as source.

Converts a primitive/vertex pair into a linear vertex.

Returns the linear vertex number of the next vertex sharing a point with a given vertex.

Returns the point number of linear vertex in a geometry.

Returns the linear vertex number of the previous vertex sharing a point with a given vertex.

Returns the number of the primitive containing a given vertex.

Converts a linear vertex index into a primitive vertex number.

Generates Voronoi (cellular) noise.

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

Calculates the volume primitive’s gradient.

Gets the value of a specific voxel.

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

Converts a volume voxel index into a position.

Gets the vector value of a specific voxel.

Converts a position into a volume voxel index.

Gets the resolution of a volume primitive.

Samples the volume primitive’s value.

Samples the volume primitive’s vector value.

Computes the approximate diameter of a voxel.

Transforms a directional vector.

Reports a custom runtime VEX warning.

Generates Worley (cellular) noise.

Transforms a normal vector from World to Object space.

Transforms a position value from World to Object space.

Transforms a direction vector from World to Object space.

Transforms a normal vector from World to Texture space.

Transforms a position value from World to Texture space.

Transforms a direction vector from World to Texture space.

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.

Derivatives of Simplex Noise.

Finds the distance of a point to a geometry.

Convert CIE XYZ tristimulus values to a linear sRGB triplet.