next up previous contents
Next: GLSL Flat Shader Up: Flat Shader Previous: Flat Shader   Contents

ARB Program Flat Shader

Auch hier wollen wir zuerst den schweren Weg gehen und den Shader mittels der ARB Vertex Programs umsetzen:


\begin{lstlisting}[name=flat.avp]
!!ARBvp1.0
PARAM mvp[4] = { state.matrix.mvp }...
...ition.z, mvp[2], v;
DP4 result.position.w, mvp[3], v;
\par
END
\end{lstlisting}
Dieser Shader gestaltet sich schon deutlich komplizierter als sein Vorgänger. Nach dem üblichen Header und der Bekanntmachung der MVP wir eine Variable v definiert die wieder zur Berechnung der Ergebnisposition eingesetzt wird. Nun wird jede Komponente von v mit der entsprechenden Komponente aus der Vertexposition belegt, bis auf eine, welche einfach auf 0.0 gesetzt wird. Anschließend wird auf bekannte Weise die Ergebnisposition aus v und der MVP berechnet.

Als Fragment Shader nutzen wir einfach den monocolor Shader aus dem vorherigen Kapitel.



2005-10-25 Michael Bayer - nightspawn.com