next up previous contents
Next: Lighting Up: Flagge, die 2. Previous: Flagge, die 2.   Contents

GLSL Flag Shader mit Normalen

Die Änderungen zum ersten Flag Shader nehmen sich wieder sehr gering aus:


\begin{lstlisting}[name=flagnormals.avs]
varying vec3 lightDir,normal;
\par
void...
...x * n;
\par
gl_Position = gl_ModelViewProjectionMatrix * v;
}
\end{lstlisting}

Im Grunde übernehmen wir nur die Variablen lightDir und normal aus dem Toon Shader, normal wird allerdings anders belegt. Führt man den Toon Fragment Shader jetzt mit diesem neuen Vertex Shader aus

./gltut shader/flag/flagnormals.avs shader/toon/toon2.afs

sieht das Ergebnis schon deutlich besser aus. Die jetzt noch vorhandenen Fehler kommen daher, dass GLUT während dem Zeichnen des Teapot leider den Kontext verändert, was sich auch auf die gl_NormalMatrix auswirkt. Das soll uns nicht weiter stören, schließlich wurden wir um eine Flagge zu zeichnen normalerweise nicht auf den teapot zurückgreifen.



2005-10-25 Michael Bayer - nightspawn.com