Es ist leicht ersichtlich dass GLSL deutlich eingängiger als der Pseudo-Assembler
der ARB Programs ist.
GLSL lehnt sich stark an C an, somit heißt der Einsprungspunkt auch hier main, ist allerdings als void definiert. Der Vertex auf dem der Shader ausgeführt wird heißt hier gl_Vertex, die Position des Ergebnisvertexes heißt gl_Position.
Nun wird hier eine Variable vom Typ vec4 definiert und mit der Position von gl_Vertex belegt. Die Ergebnisposition ergibt sich einfach aus der Multiplikation der MVP mit diesem Vektor.
Der Source des zugehörigen Fragment Shaders ist ähnlich einfach:
Auch hier heißt der Einsprungspunkt main, die Ausgabefarbe des Fragmentes auf dem
der Shader ausgeführt wird heißt gl_FragColor. Wieder wird eine Variable definiert,
allerdings wird sie hier einfach mit konstanten Werten für blau belegt. Die Ergebnisfarbe
ergibt sich einfach aus diesen Werten.