VEX contexts

Guide to the different contexts in which you can write VEX programs.

About contexts

Unlike C or C++, VEX has different “contexts” for which you write programs. These contexts define how the function is to be used.

For example, one context is the “surface” context. Functions written in this context are used to calculate the color(s) of a surface during rendering. The “pop” context is a different context where functions are used to control the motion or attributes of particle systems. While a surface shader processes pixel color information, a custom particle node deals with particle velocities and positions. So the global variables and functions provided for each context are slightly different.

Contexts

Shading contexts

See common shading context features for information specific to the shading contexts.

displace

A displacement shader moves points on the assigned surface before it’s rendered.

fog

A fog shader modifies the color, opacity, and/or alpha of the output image to simulate atmospheric effects.

light

A light shader is called from surface or fog shaders to calculate the illumination at a point.

A photon shader calculates photon maps.

shadow

A shadow shader is called from a surface or fog shader to calculate the occlusion of a light source at a point.

surface

A surface shader calculates the final color, opacity, and alpha of a surface.

Other contexts

chop

Define a custom CHOP node using a VEX program that edits channel values.

cop

Define a custom compositing node using a VEX program that modifies image values.

image3d

Generate 3D textures.

pop

Define a custom particle node using a VEX program that modifies particle attributes.

sop

Define a custom surface node using a VEX program that edits geometry point attributes.

Subtopics

Clear

  • Define a custom CHOP operator with a program that edits channel values.
  • cop
    Define a custom COP operator with a program that sets RGBA or Cr,Cg,Cb,C4 values in an image.
  • Define a displacement shader with a program that moves a point on a surface before the surface is rendered.
  • fog
    Define a fog shader with a program that modifies the Cf, Of, or Af values to simulate atmospheric effects.
  • Write a program for use with the i3dgen program to generate 3D textures.
  • Define a light shader with a program called from surface or fog shaders to calculate the illumination of a surface.
  • pop
    Define a custom POP operator with a program that edits particle attributes.
  • Define a shadow shader by defining a program that’s called from surface or fog shaders to calculate the occlusion on a surface from a light source.
  • sop
    Define a custom SOP operator with a program that edits geometry point attributes.
  • Define a surface shader with a program that sets the final color, opacity, and alpha of a surface being rendered.