---
name: "coin_shaders"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/coin_shaders"
---

# coin\_shaders(3)

Shader Classes - Shaders are programs that run on the graphics processor and replace the formerly fixed OpenGL pipeline.

## NAME

coin\_shaders - Shader Classes

 \- Shaders are programs that run on the graphics processor and replace the formerly fixed OpenGL pipeline.

## SYNOPSIS

### Classes

class **SoVertexAttribute**\
 A generic node for providing GL vertex attributes of various types.  class **SoVertexAttributeBinding**\
 The **SoVertexAttributeBinding** class is a node for setting up how vertex attributes are mapped to shapes.  class **SoFragmentShader**\
 The **SoFragmentShader** class is used for setting up fragment shader programs.  class **SoGeometryShader**\
 The **SoGeometryShader** class is used for loading geometry shader programs.  class **SoShaderObject**\
 The **SoShaderObject** class is the superclass for all shader classes in Coin.  class **SoShaderParameter**\
 The **SoShaderParameter** class is the base class for all shader parameter classes.  class **SoUniformShaderParameter**\
 The **SoUniformShaderParameter** class is the base class for all uniform shader variables.  class **SoShaderParameter1f**\
 The **SoShaderParameter1f** class is used to define a floating point value as shader parameter.  class **SoShaderParameter1i**\
 The **SoShaderParameter1i** class is used to define an integer value as shader parameter.  class **SoShaderParameter2f**\
 The **SoShaderParameter2f** class is used to define a two-dimensional floating point value as shader parameter.  class **SoShaderParameter2i**\
 The **SoShaderParameter2i** class is used to define a two-dimensional integer value as shader parameter.  class **SoShaderParameter3f**\
 The **SoShaderParameter3f** class is used to define a three-dimensional floating point value as shader parameter.  class **SoShaderParameter3i**\
 The **SoShaderParameter3i** class is used to define a three-dimensional integer value as shader parameter.  class **SoShaderParameter4f**\
 The **SoShaderParameter4f** class is used to define a four-dimensional floating point value as shader parameter.  class **SoShaderParameter4i**\
 The **SoShaderParameter4i** class is used to define a four-dimensional integer value as shader parameter.  class **SoShaderParameterArray1f**\
 The **SoShaderParameterArray1f** class is used to define a floating point array as shader parameter.  class **SoShaderParameterArray1i**\
 The **SoShaderParameterArray1i** class is used to define an integer array as shader parameter.  class **SoShaderParameterArray2f**\
 The **SoShaderParameterArray2f** class is used to define a two-dimensional floating point array as shader parameter.  class **SoShaderParameterArray2i**\
 The **SoShaderParameterArray2i** class is used to define a two-dimensional integer array as shader parameter.  class **SoShaderParameterArray3f**\
 The **SoShaderParameterArray3f** class is used to define a three-dimensional floating point array as shader parameter.  class **SoShaderParameterArray3i**\
 The **SoShaderParameterArray3i** class is used to define a three-dimensional integer array as shader parameter.  class **SoShaderParameterArray4f**\
 The **SoShaderParameterArray4f** class is used to define a four-dimensional floating point array as shader parameter.  class **SoShaderParameterArray4i**\
 The **SoShaderParameterArray4i** class is used to define a four-dimensional integer array as shader parameter.  class **SoShaderParameterMatrix**\
 The **SoShaderParameterMatrix** class is used to define a matrix as shader parameter.  class **SoShaderParameterMatrixArray**\
 The **SoShaderParameterMatrixArray** class is used to define a matrix array as shader parameter.  class **SoShaderStateMatrixParameter**\
 The **SoShaderStateMatrixParameter** class is used to define a matrix as shader parameter whose content is derived from the traversal state.  class **SoShaderProgram**\
 The **SoShaderProgram** class is used to specify a set of vertex/geometry/fragment objects.  class **SoVertexShader**\
 The **SoVertexShader** class is used for setting up vertex shader programs.

## Detailed Description

Shaders are programs that run on the graphics processor and replace the formerly fixed OpenGL pipeline.

Coin-2.5 added support for Shaders. Shaders replace the fixed function vertex and fragment processing in OpenGL by letting the user define the processing that takes place at key points in the OpenGL pipeline. Vertex shaders handle the operations that occur on each vertex, while fragment shaders handle the operations that occur on each pixel. The **SoShaderProgram** node in Coin provides a convenient way of specifying the code for vertex and fragment shaders.

Coin-3.0 expanded upon the shader support by adding support for OpenGL Vertex Attributes. When using shaders, programmers are no longer limited to the set of attributes that OpenGL defines (glColor, glNormal, glTexCoord etc.) You can now define your own per-vertex data and pass them to the shaders using the **SoVertexAttribute** node.

## Author

Generated automatically by Doxygen for Coin from the source code.
