GLSL Parameter
← GLSL Operationen | ● | GLSL Built-Ins →
Es gibt 3 unterschiedliche Arten von Shader Parametern
- Attribute
- Uniform
- Varying
Attribut Parameter sind Eingänge in den Vertex Shader, deren Werte über glVertex, glColor, glNormal, glTexCoord, glVertexAttrib etc. geschrieben werden. Deren Werte sind für einen Durchlauf eines Vertex Programms konstant.
Uniforme Parameter verhalten sich wie Konstanten, die von ausserhalb des Shaders definiert werden. Deren Werte sind für ein Grafik-Primitiv konstant (Schlüsselwort uniform)
Varying Parameter werden innerhalb eines Dreiecks baryzentrisch interpoliert. Wird im Vertex Shader ein Varying Attribut geschrieben, so können im Fragment Shader die interpolierten Werte gelesen werden. (Schlüsselwort varying).
Uniforme Parameter werden dem Shader mit den folgenden OpenGL Befehlen übergeben:
void glUniform{1|2|3|4}{f|i}ARB(GLint location, TYPE val)
void glUniform{1|2|3|4}{f|i}vARB(GLint location, GLuint count, const TYPE *vals)
void glUniformMatrix{2|3|4|}fvARB(GLint location, GLuint count, GLboolean transpose, const GLfloat *vals)
Die Adresse einer Uniform-Variable erhält man via
← GLSL Operationen | ● | GLSL Built-Ins →