A shader in TouchDesigner is the OpenGL (pre-2022) or Vulkan (2022-) GLSL code that runs on the GPU and creates rendered images from polygons, textures, CHOP channels and parameters.

Shaders are either embedded inside Materials or placed in Text DATs and referenced to a GLSL Material or a GLSL TOP.

Shaders are composed of up to three parts: Vertex Shader, Pixel Shader and Compute Shader. (Geometry Shaders are now obsolete.)

All shaders in TouchDesigner are GLSL shaders.

The most commonly-used materials are the Phong MAT or PBR MAT which contain numerous lighting and surface rendering options. The Phong MAT and PBR MAT can output the specific GLSL shader code that represents the features being used in the material, which is a good starting point for writing your own shaders or adapting other shaders.

A GLSL TOP uses a GLSL shader for generating 2D images.

See also Write a GLSL Material.