---
name: "shaders"
section: "3"
platform: "linux"
package: "libcoin80-doc"
version: "3.1.4~abc9f50-7"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/shaders"
---

# shaders(3)

## NAME

Shader Classes -

### Classes

class **SoVertexAttributeBinding**\
 *The* **SoVertexAttributeBinding** *class is a node for setting up how vertex attributes are mapped to shapes.*  class **SoVertexAttribute**\
 *A generic node for providing GL vertex attributes of various types.*  class **SoShaderObject**\
 class **SoShaderProgram**\
 *The* **SoShaderProgram** *class is used to specify a set of vertex/geometry/fragment objects.*

## Detailed Description

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.
