next up previous contents
Next: GLSL Up: ARB Program Shader Previous: ARB Fragment Programs   Contents

Praxis: Binden von Shadern

Um ARB Shader auch nutzen zu können ist es nötig OpenGL mitzuteilen welche Shader auf den aktuellen Stream angewandt werden sollen. Dies geschieht ganz ähnlich dazu wie man Texturen bindet. Hierzu definieren wir eine weitere Funktion, bindShaders():


\begin{lstlisting}[name=shader.cpp: bindShaders]
void bindShaders() {
// bind a...
...ARB, AFPHandle);
glEnable(GL_FRAGMENT_PROGRAM_ARB);
}
\par
}
\end{lstlisting}
In dieser wird geprüft ob Vertex- oder Fragment- Programs geladen sind und je nach Ergebnis werden glBindProgramARB und glEnable mit den jeweiligen Parametern aufgerufen. Diese Funktion rufen wir nun innerhalb von renderScene() aufgerufen, und zwar bevor wir den teapot zeichnen.



2005-10-25 Michael Bayer - nightspawn.com