Houdini 20.5 VEX VEX Functions

teximport VEX function

Imports attributes from texture files.

On this page

int  teximport(string map, string attribute, <type>&value)

Reads a single value. Returns 1 on success or 0 on failure.

int  teximport(string map, string token, int|string&values[])

Returns the number of strings in the array.

Note that if the values cannot be imported, values will not be written to and may remain uninitialized.

This function queries metadata stored in an image file, and works with most texture formats.

You can choose what properties are stored using the vm_saveoptions Houdini property on a camera or light (image:saveoptions in IFD). However, the defaults probably contain all the information you'd want. See rendering properties.

Queryable attributes

There are several generic attributes you can always query:

int texture:xres

X resolution of the texture map.

int texture:yres

Y resolution of the texture map.

int texture:channels

Number of channels in the texture map.

vector texture:resolution

Resolution of the texture as the vector (xres, yres, channels).

matrix texture:worldtoview

The transform matrix that will take world space points into the camera space used to generate the image.

matrix texture:projection

The transform matrix representing the projection matrix of the camera used to generate the image.

matrix texture:worldtondc

The transform matrix that will transform world spaced points into the NDC (Normalized Device Coordinates) space of the camera used to make the image. The points are generated in homogeneous coordinates. That is, to get the values in the range 0 to 1:

matrix ndc;
if (teximport(map, "texture:worldtoNDC", ndc))
{
    vector P_ndc = pos * ndc;
    // If the camera is a perspective camera,
    // dehomogenize the point
    if (getcomp(ndc, 2, 3) != 0)
    {
        P_ndc.x = P_ndc.x / P_ndc.z;
        P_ndc.y = P_ndc.y / P_ndc.z;
    }
    // Finally, scale and offset XY
    // from [-1,1] to [0,1]
    P_ndc *= {.5, .5, 1};
    P_ndc += {.5, .5, 0};
}

string texture:tokens

A space separated list of all attribute names you can query.

The string &values[] version can query the following

texture:channelnames

List of all the raster plane channel names.

texture:channelsize

This returns an array of the number of floats in each image channel.

texture:channelstorage

This returns an array with a string for the underlying storage type for each channel (i.e. uint8 or real16).

texture:channelcolorspace

An array of the color space associated with each channel.

texture:tokens

List of all the built-in tokens understood by teximport().

string texture:device

The device that’s used to evaluate the texture. Possible values are:

  • native - Evaluated using the built-in Houdini texture engine

  • oiio - Evaluated using OpenImageIO

  • ptex - Evaluated using Ptex

string: texture:colorspace

This is the color space the texture library will use by default. That is, when the srccolorspace keyword argument isn’t provided.

string: texture:swrap

Some texture formats store metadata that provides the default wrap mode for texture coordinates. This key will lookup the value in the metadata for wrapping in s (or an empty string).

string: texture:twrap

Some texture formats store metadata that provides the default wrap mode for texture coordinates. This key will lookup the value in the metadata for wrapping in t (or an empty string).

Examples

cvex
 test(string map="Mandril.rat")
{
    for (string token : {
                    "texture:xres",
                    "texture:yres",
                    "texture:channels",
                    "texture:resolution",
                    "texture:tokens",
                    "image:pixelaspect",
                    "space:world"
                })
    {
        float fval;
        vector vval;
        matrix mval;

        printf("----------------- %s ---------------------\n", token);
        if (teximport(map, token, fval))
            printf("'%s' = %g\n", token, fval);
        else if (teximport(map, token, vval))
            printf("'%s' = %g\n", token, vval);
        else if (teximport(map, token, mval))
            printf("'%s' = %g\n", token, mval);
    }
}
See also
file
map
shading

VEX Functions

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.

  • findlowerbound

    Finds the largest item smaller than a target value in an array.

  • findlowerboundsorted

    Finds the largest item smaller than a target value in a sorted array.

  • findsorted

    Finds an item in a sorted array.

  • foreach

    Loops over the items in an array, with optional enumeration.

  • 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 a detail attribute to a geometry.

  • addpointattrib

    Adds a point attribute to a geometry.

  • addprimattrib

    Adds a primitive attribute to a geometry.

  • addvertexattrib

    Adds a vertex attribute to a geometry.

  • addvisualizer

    Appends to a geometry’s visualizer detail attribute.

  • attrib

    Reads the value of an attribute from geometry.

  • attribclass

    Returns the class of a geometry attribute.

  • attribdataid

    Returns the data id of a geometry attribute.

  • attribsize

    Returns the size of a geometry attribute.

  • attribtype

    Returns the type of a geometry attribute.

  • attribtypeinfo

    Returns the transformation metadata of a geometry attribute.

  • curvearclen

    Evaluates the length of an arc on a primitive defined by an array of points using parametric uv coordinates.

  • detail

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

  • detailattrib

    Reads 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

    Reads the value of a detail intrinsic from a geometry.

  • findattribval

    Finds a primitive/point/vertex that has a certain attribute 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 and returns a success flag.

  • 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

    Finds a point by its id attribute.

  • idtoprim

    Finds a primitive by its id attribute.

  • nametopoint

    Finds a point by its name attribute.

  • nametoprim

    Finds a primitive by its name attribute.

  • nuniqueval

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

  • point

    Reads a point attribute value from a geometry.

  • pointattrib

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

  • 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.

  • pointlocaltransforms

    Returns an array of point localtransforms from an array of point indices.

  • pointtransform

    Returns a point transform from a point index.

  • pointtransformrigid

    Returns a rigid point transform from a point index.

  • pointtransforms

    Returns an array of point transforms from an array of point indices.

  • pointtransformsrigid

    Returns an array of rigid point transforms from an array of point indices.

  • prim

    Reads a primitive attribute value from a geometry.

  • prim_attribute

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

  • primarclen

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

  • primattrib

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

  • 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

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

  • priminteriorweights

    Finds the indices and weightings of the vertices that will compute an interior point given the UVW coordinates.

  • primintrinsic

    Reads a primitive intrinsic from a geometry.

  • primuv

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

  • primuvconvert

    Convert parametric UV locations on curve primitives between different spaces.

  • removedetailattrib

    Removes a detail attribute from a geometry.

  • removepointattrib

    Removes a point attribute from a geometry.

  • removepointgroup

    Removes a point group from a geometry.

  • removeprimattrib

    Removes a primitive attribute from a geometry.

  • removeprimgroup

    Removes a primitive group from a geometry.

  • removevertexattrib

    Removes a vertex attribute from a geometry.

  • removevertexgroup

    Removes a vertex group from a geometry.

  • setattrib

    Writes an attribute value to geometry.

  • setattribtypeinfo

    Sets the meaning of an attribute in geometry.

  • setdetailattrib

    Sets a detail attribute in a geometry.

  • setdetailintrinsic

    Sets the value of a writeable detail intrinsic attribute.

  • setpointattrib

    Sets a point attribute in a geometry.

  • setpointlocaltransforms

    Sets an array of point local transforms at the given point indices.

  • setpointtransform

    Sets the world space transform of a given point

  • setpointtransforms

    Sets an array of point transforms at the given point indices.

  • setprimattrib

    Sets a primitive attribute in a geometry.

  • setprimintrinsic

    Sets the value of a writeable primitive intrinsic attribute.

  • setvertexattrib

    Sets a vertex attribute in a geometry.

  • uniqueval

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

  • uniquevals

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

  • uvsample

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

  • vertex

    Reads a vertex attribute value from a geometry.

  • vertexattrib

    Reads 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.

BSDFs

  • albedo

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

  • ashikhmin

    Returns a specular BSDF using the Ashikhmin shading model.

  • blinn

    Returns a Blinn BSDF or computes Blinn shading.

  • chiang

    Returns a chiang BSDF.

  • chiang_fur

    Returns a chiang_fur BSDF.

  • cone

    Returns a cone reflection BSDF.

  • cvex_bsdf

    Creates a bsdf object from two CVEX shader strings.

  • diffuse

    Returns a diffuse BSDF or computes diffuse shading.

  • eval_bsdf

    Evaluates a bsdf given two vectors.

  • getbounces

  • ggx

    Returns a ggx BSDF.

  • hair

    Returns a BSDF for shading hair.

  • henyeygreenstein

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

  • isotropic

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

  • mask_bsdf

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

  • normal_bsdf

    Returns the normal for the diffuse component of a BSDF.

  • phong

    Returns a Phong BSDF or computes Phong shading.

  • phonglobe

  • sample_bsdf

    Samples a BSDF.

  • solid_angle

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

  • split_bsdf

    Splits a bsdf into its component lobes.

  • sssapprox

    Creates an approximate SSS BSDF.

BSDFs

  • specular

    Returns a specular BSDF or computes specular shading.

CHOP

  • chadd

    Adds new channels to a CHOP node.

  • chattr

    Reads from a CHOP attribute.

  • chattrnames

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

  • chend

    Returns the sample number of the last sample in a given CHOP input.

  • 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.

  • 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.

  • chop

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

  • choplocal

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

  • choplocalt

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

  • chopt

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

  • 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

    Sets the value of a CHOP attribute.

  • 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.

  • ninputs

    Returns the number of inputs.

Channel Primitives

color

  • blackbody

    Compute the color value of an incandescent black body.

  • ctransform

    Transforms between color spaces.

  • luminance

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

Conversion

  • atof

    Converts a string to a float.

  • atoi

    Converts a string to an integer.

  • cracktransform

    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).

  • degrees

    Converts 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.

  • quaterniontoeuler

    Creates a euler angle representing a quaternion.

  • 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

dict

  • json_dumps

    Converts a VEX dictionary into a JSON string.

  • json_loads

    Converts a JSON string into a VEX dictionary.

  • keys

    Returns all the keys in a dictionary.

  • typeid

    Returns a numeric code identifying a VEX data type.

displace

  • dimport

    Reads a variable from the displacement shader for the surface.

File I/O

  • file_stat

    Returns file system status for a given file.

filter

  • filter_remap

    Computes an importance sample based on the given filter type and input uv.

Fuzzy Logic

Geometry

  • addpoint

    Adds a point to the geometry.

  • addprim

    Adds a primitive to the geometry.

  • addvertex

    Adds a vertex to a primitive in a geometry.

  • clip

    Clip the line segment between p0 and p1.

  • geoself

    Returns a handle to the current geometry.

  • geounwrap

    Returns an oppath: string to unwrap the geometry in-place.

  • inedgegroup

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

  • intersect

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

  • intersect_all

    Computes all intersections of the specified ray with geometry.

  • minpos

    Given a position in world space, returns the position of the closest point on a given 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 number of the next point connected to a given 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.

  • nprimitives

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

  • nvertices

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

  • nverticesgroup

    Returns the number of vertices in the group.

  • 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.

  • polyneighbours

    Returns an array of the primitive numbers of the edge-neighbours of a polygon.

  • primfind

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

  • 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.

  • removeattrib

    Removes an attribute or group from the geometry.

  • removepoint

    Removes a point from the geometry.

  • removeprim

    Removes a primitive from the geometry.

  • removevertex

    Removes a vertex from the geometry.

  • setedgegroup

    Sets edge group membership in a geometry.

  • setprimvertex

    Rewires a vertex in the geometry to a different point.

  • setvertexpoint

    Rewires a vertex in the geometry to a different point.

  • uvintersect

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

  • vertexcurveparam

    Returns the parametric coordinate of a vertex along the perimeter of its primitive.

  • vertexindex

    Converts a primitive/vertex pair into a linear vertex.

  • vertexnext

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

  • vertexpoint

    Returns the point number of linear vertex in a geometry.

  • vertexprev

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

  • vertexprim

    Returns the number of the primitive containing a given vertex.

  • vertexprimindex

    Converts a linear vertex index into a primitive vertex number.

groups

  • expandedgegroup

  • expandpointgroup

    Returns an array of point numbers corresponding to a group string.

  • expandprimgroup

    Returns an array of prim numbers corresponding to a group string.

  • expandvertexgroup

    Returns an array of linear vertex numbers corresponding to a group 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.

  • invertexgroup

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

  • npointsgroup

    Returns the number of points in the group.

  • nprimitivesgroup

    Returns the number of primitives in the group.

  • setpointgroup

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

  • setprimgroup

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

  • setvertexgroup

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

Half-edges

  • 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.

  • 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.

  • primhedge

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

  • vertexhedge

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

hex

  • hex_adjacent

    Returns primitive number of an adjacent hexahedron.

  • hex_faceindex

    Returns vertex indices of each face of a hexahedron.

Image Processing

  • accessframe

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

  • alphaname

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

  • binput

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

  • bumpname

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

  • chname

    Returns the name of a numbered channel.

  • cinput

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

  • 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.

  • 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 luminaence 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 component from a pixel and its eight neighbors.

  • 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).

Interpolation

  • ckspline

    Samples a Catmull-Rom (Cardinal) spline defined by position/value keys.

  • clamp

    Returns value clamped between min and max.

  • cspline

    Samples a Catmull-Rom (Cardinal) spline defined by uniformly spaced keys.

  • efit

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

  • fit

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

  • fit01

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

  • fit10

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

  • fit11

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

  • invlerp

    Inverses a linear interpolation between the values.

  • lerp

    Performs linear interpolation between the values.

  • lkspline

    Samples a polyline between the key points.

  • lspline

    Samples a polyline defined by linearly spaced values.

  • slerp

    Quaternion blend between q1 and q2 based on the bias.

  • slerpv

    Spherical blends between two vectors based on the bias.

  • smooth

    Computes ease in/out interpolation between values.

light

  • ambient

    Returns the color of ambient light in the scene.

  • atten

    Computes attenuated falloff.

  • 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.

Math

  • 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)

  • cbrt

    Returns the cube root of the argument.

  • ceil

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

  • combinelocaltransform

    Combines Local and Parent Transforms with Scale Inheritance.

  • cos

    Returns the cosine of the argument.

  • cosh

    Returns the hyperbolic cosine of the argument.

  • cospi

    Returns the cosine of the argument scaled by Pi.

  • cross

    Returns the cross product between the two vectors.

  • determinant

    Computes the determinant of the matrix.

  • diag

    Extracts diagonal entries or constructs a diagonal matrix.

  • diagonalizesymmetric

    Diagonalizes Symmetric Matrices.

  • distance_pointline

    This function returns the closest distance between the point Q and the infinite line going through O parallel to vector D.

  • distance_pointray

    This function returns the closest distance between the point Q and the semi-finite ray starting at O and extending in the direction D.

  • distance_pointsegment

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

  • dot

    Returns the dot product between the arguments.

  • Du

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

  • Dv

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

  • Dw

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

  • eigenvalues

    Computes the eigenvalues of a 3×3 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.

  • extractlocaltransform

    Extracts Local Transform from a World Transform with Scale Inheritance.

  • floor

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

  • frac

    Returns the fractional component of the floating point number.

  • ident

    Returns an identity matrix.

  • invert

    Inverts a matrix.

  • isfinite

    Checks whether a value is a normal finite number.

  • isinf

    Checks whether a value is a positive or negative infinity.

  • isnan

    Checks whether a value is not a number.

  • kspline

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

  • length

    Returns the magnitude of a vector.

  • length2

    Returns the squared distance of the vector or vector4.

  • log

    Returns the natural logarithm of the argument.

  • log10

    Returns the logarithm (base 10) of the argument.

  • makebasis

    Creates an orthonormal basis given a z-axis vector.

  • max

  • min

  • norm_1

    Returns the induced matrix 1-norm.

  • norm_fro

    Returns the Frobenius norm of a matrix.

  • norm_inf

    Returns the induced matrix infinity-norm.

  • norm_max

    Returns the matrix max-norm.

  • norm_spectral

    Returns the matrix spectral norm.

  • normalize

    Returns a normalized vector.

  • outerproduct

    Returns the outer product between the arguments.

  • pinvert

    Computes the pseudo-inverse of a matrix.

  • planesphereintersect

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

  • 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.

  • premul

    Pre multiply matrices.

  • product

    Returns the product of a list of numbers.

  • 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 whole number.

  • shl

    Bit-shifts an integer left.

  • shr

    Bit-shifts an integer right.

  • shrz

    Bit-shifts an integer right.

  • sign

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

  • sin

    Returns the sine of the argument.

  • sinh

    Returns the hyperbolic sine of the argument.

  • sinpi

    Returns the sine of the argument scaled by Pi.

  • slideframe

    Finds the normal component of frame slid along a curve.

  • 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.

  • solvetriangleSSS

    Finds the angles of a triangle from its sides.

  • spline

    Samples a value along a polyline or spline curve.

  • spline_cdf

    Generate a cumulative distribution function (CDF) by sampling a spline curve.

  • sqrt

    Returns the square root of the argument.

  • sum

    Returns the sum of a list of numbers.

  • svddecomp

    Computes the singular value decomposition of a given matrix.

  • tan

    Returns the trigonometric tangent of the argument

  • tanh

    Returns the hyperbolic tangent of the argument

  • tanpi

    Returns the trigonometric tangent of the argument scaled by Pi

  • tr

    Returns the trace of the given matrix.

  • transpose

    Transposes the given matrix.

  • trunc

    Removes the fractional part of a floating point number.

measure

  • distance

    Returns the distance between two points.

  • distance2

    Returns the squared distance between the two points.

  • 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.

  • planepointdistance

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

  • 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.

  • surfacedist

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

  • uvdist

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

  • windingnumber

    Computes the winding number of a mesh around a point. Winding number indicates how many times a geometry wraps around a point. Useful for inside/outside test, the winding number is equal to one inside of the mesh and zero outside.

  • windingnumber2d

    Computes the winding number of a curve in XY plane around a point. Winding number indicates how many times a curve wraps around a point. Useful for inside/outside test, the winding number is equal to one inside of the curve and zero outside.

  • xyzdist

    Finds the distance from a point to the closest location on surface geometry.

metaball

  • 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.

Nodes

  • addvariablename

    Adds a mapping for an attribute to a local variable.

  • ch

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

  • ch2

    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.

  • chdict

    Evaluates a key-value dictionary parameter and return its value.

  • chexpr

    Evaluates a channel with a new segment expression.

  • chexprf

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

  • chexprt

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

  • chf

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

  • chi

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

  • chid

    Resolves a channel string (or parameter) and return op_id, parm_index and vector_index.

  • chp

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

  • chramp

    Evaluates a ramp parameter and return its value.

  • chrampderiv

    Evaluates the derivative of a parm parameter with respect to position.

  • chs

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

  • chsop

    Evaluates an operator path parameter and return the path to the operator.

  • chsraw

    Returns the raw string channel (or parameter).

  • chu

    Evaluates a channel or parameter, and return its value.

  • chv

    Evaluates a channel or parameter, and return its value.

  • cregioncapturetransform

    Returns the capture transform associated with a Capture Region SOP.

  • cregiondeformtransform

    Returns the deform transform associated with a Capture Region SOP.

  • cregionoverridetransform

    Returns the capture or deform transform associated with a Capture Region SOP based on the global capture override flag.

  • isconnected

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

  • opfullpath

    Returns the full path for the given relative path

  • opid

    Resolves an operator path string and return its op_id.

  • 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.

  • oppreparmtransform

    Returns the pre and parm transform associated with an OP.

  • opprerawparmtransform

    Returns the pre and raw parm transform associated with an OP.

  • oppretransform

    Returns the pretransform associated with an OP.

  • oprawparmtransform

    Returns the raw parm transform associated with an OP.

  • optransform

    Returns the transform associated with an OP.

Noise and Randomness

  • anoise

    Generates alligator noise.

  • curlgxnoise

    Computes divergence free noise based on simplex noise.

  • curlgxnoise2d

    Computes divergence free noise in the plane based on simplex noise.

  • 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.

  • cwnoise

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

  • 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.

  • gxnoise

    Evaluates a simplex noise field.

  • gxnoised

    Evaluates a simplex noise field and its derivatives.

  • hscript_noise

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

  • hscript_rand

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

  • hscript_snoise

  • hscript_sturb

  • hscript_turb

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

  • mwnoise

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

  • mx_cellnoise

    MaterialX compatible cellnoise

  • mx_perlin

    MaterialX compatible Perlin noise

  • mx_voronoi

    MaterialX compatible Voronoi noise

  • mx_worley

    MaterialX compatible Worley noise

  • 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

    Non-deterministic random number generation function.

  • 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.

  • pxnoised

    Periodic derivatives of Simplex Noise.

  • rand

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

  • random

    Generate a random number based on the integer position in 1-4D space.

  • random_brj

    Generate a uniformly distributed random number.

  • random_fhash

    Hashes floating point numbers to integers.

  • random_ihash

    Hashes integer numbers to integers.

  • random_poisson

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

  • random_shash

    Hashes a string to an integer.

  • random_sobol

    Generate a uniformly distributed random number.

  • snoise

    These functions are similar to wnoise.

  • vnoise

    Generates Voronoi (cellular) noise.

  • wnoise

    Generates Worley (cellular) noise.

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

  • 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.

normals

  • computenormal

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

  • prim_normal

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

Open Color IO

particles

  • filamentsample

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

Point Clouds and 3D Images

  • 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.

  • pccone

    Returns a list of closest points from a file within a specified cone.

  • pccone_radius

    Returns a list of closest points from a file in a cone, taking into account their radii

  • 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 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.

  • pcline

    Returns a list of closest points to an infinite line from a specified file

  • pcline_radius

    Returns a list of closest points to an infinite line from a specified file

  • 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.

  • pcsegment

    Returns a list of closest points to a line segment from a specified file

  • pcsegment_radius

    Returns a list of closest points to a line segment from a specified file

  • 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

    Samples a color from a photon map.

  • 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 cumulative distribution function (CDF) from an array of probability density function (PDF) values.

  • create_pdf

    Creates a probability density function from an array of input values.

  • limit_sample_space

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

  • newsampler

    Initializes a sampling sequence for the nextsample function.

  • nextsample

  • sample_cauchy

    Samples the Cauchy (Lorentz) distribution.

  • sample_cdf

    Samples a cumulative distribution function (CDF).

  • 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_ring_uniform

    Generates a uniform vector2 with alpha < length < 1, where 0 < alpha < 1, given a vector2 of uniform numbers 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_shell_uniform

    Generates a uniform vector with alpha < length < 1, where 0 < alpha < 1, 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.

  • variance

    Computes the mean value and variance for a value.

Sensor Input

Shading and Rendering

  • area

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

  • blinnBRDF

  • bouncelabel

  • bouncemask

  • diffuseBRDF

  • filterstep

    Returns the anti-aliased weight of the step function.

  • 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.

  • 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.

  • 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.

  • haslight

    Returns whether a light illuminates the given material.

  • 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.

  • integratehoseksky

    Computes irradiance from the given Hosek Sky on a horizontal surface

  • 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.

  • islpeactive

    Returns 1 if Light Path Expressions are enabled. 0 Otherwise.

  • israytracing

    Indicates whether a shader is being executed for ray tracing.

  • isshadingRHS

    Detects the orientation of default shading space.

  • 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.

  • isuvrendering

    Indicates whether the shader is being evaluated 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.

  • lightstate

    Queries the renderer for a named property.

  • limport

    Imports a variable from the light shader for the surface.

  • matchvex_blinn

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

  • matchvex_specular

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

  • nbouncetypes

  • objectstate

    Queries the renderer for a named property.

  • occlusion

    Computes ambient occlusion.

  • pathtrace

    Computes global illumination using PBR for secondary bounces.

  • phongBRDF

  • 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.

  • specularBRDF

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

  • 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 a Lambertian translucence BSDF.

  • uvunwrap

    Computes the position and normal at given (u, v) coordinates, for use in a lens shader.

  • wireblinn

  • wirediffuse

  • writepixel

    Writes color information to a pixel in the output image

Strings

  • abspath

    Returns the full path of a file.

  • chr

    Converts an unicode codepoint to a UTF8 string.

  • concat

    Concatenate all the strings specified to form a single string.

  • decode

    Decodes a variable name that was previously encoded.

  • decodeattrib

    Decodes a geometry attribute name that was previously encoded.

  • decodeparm

    Decodes a node parameter name that was previously encoded.

  • decodeutf8

    Decodes a UTF8 string into a series of codepoints.

  • encode

    Encodes any string into a valid variable name.

  • encodeattrib

    Encodes any string into a valid geometry attribute name.

  • encodeparm

    Encodes any string into a valid node parameter name.

  • encodeutf8

    Encodes a UTF8 string from a series of codepoints.

  • endswith

    Indicates the string ends with the specified string.

  • find

    Finds an item in an array or 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.

  • makevalidvarname

    Forces a string to conform to the rules for variable names.

  • 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

    Matches a regular expression in a 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.

  • relpath

    Returns the relative path to a file.

  • replace

    Replaces occurrences of a substring.

  • replace_match

    Replaces the matched string pattern with another pattern.

  • 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 characters in string to lower case

  • toupper

    Converts all characters in string to upper case

Subdivision Surfaces

Tetrahedrons

  • tet_adjacent

    Returns primitive number of an adjacent tetrahedron.

  • tet_faceindex

    Returns vertex indices of each face of a tetrahedron.

Texturing

  • colormap

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

  • 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.

  • has_udim

    Test string for UDIM or UVTILE patterns.

  • importance_remap

    Remaps a texture coordinate to another coordinate in the map to optimize sampling of brighter areas.

  • 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. Use texture instead.

  • rawcolormap

    Looks up an unfiltered color from a texture file.

  • 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

  • dihedral

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

  • fromNDC

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

  • getpackedtransform

    Gets the transform of a packed primitive.

  • getspace

    Returns a transform from one space to another.

  • instance

    Creates an instance transform matrix.

  • lookat

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

  • maketransform

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

  • ndcdepth

    Returns the camera space z-depth of the NDC z-depth value.

  • ntransform

    Transforms a normal vector.

  • orthographic

    Create an orthographic projection matrix.

  • ow_nspace

    Transforms a normal vector from Object to World space.

  • ow_space

    Transforms a position value from Object to World space.

  • ow_vspace

    Transforms a direction vector from Object to World space.

  • packedtransform

    Transforms a packed primitive.

  • perspective

    Create a perspective projection matrix.

  • polardecomp

    Computes the polar decomposition of a matrix.

  • prerotate

    Applies a pre rotation to the given matrix.

  • prescale

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

  • pretranslate

    Pretranslates a matrix by a vector.

  • ptransform

    Transforms a vector from one space to another.

  • 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).

  • setpackedtransform

    Sets the transform of a packed primitive.

  • smoothrotation

    Returns the closest equivalent Euler rotations to a reference rotation.

  • solveconstraint

    Applies an inverse kinematics algorithm to a skeleton.

  • solvecurve

    Applies a curve inverse kinematics algorithm to a skeleton.

  • solvefbik

    Applies a full-body inverse kinematics algorithm to a skeleton.

  • solveik

    Applies an inverse kinematics algorithm to a skeleton.

  • solvephysfbik

    Applies a full-body inverse kinematics algorithm to a skeleton, with optional control over the center of mass.

  • toNDC

    Transforms a position into normal device coordinates.

  • translate

    Translates a matrix by a vector.

  • 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

    Transforms a directional vector.

  • 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.

usd

Utility

  • assert_enabled

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

  • assign

    An efficient way of extracting the components of a vector or matrix into 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

    Ends a long operation.

  • opstart

    Start a long operation.

  • pack_inttosafefloat

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

  • print_once

    Prints a message only once, even in a loop.

  • printf

    Prints values to the console which started the VEX program.

  • ramp_lookup

    Evaluates a Houdini-style ramp at a specific location.

  • ramp_pack

    Packs a set of arrays into a string-encoded ramp.

  • ramp_unpack

    Unpacks a string-encoded ramp into a set of arrays.

  • select

    Returns one of two parameters based on a conditional.

  • set

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

  • setcomp

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

  • sleep

    Yields processing for a certain number of milliseconds.

  • swizzle

    Rearranges the 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.

volume

weightarray