Coin Logo Coin3D is Free Software,
published under the BSD 3-clause license.
https://bitbucket.org/Coin3D/
http://www.kongsberg.com/kogt/
Shader Classes

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

Classes

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

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.