ARB Vertex Programs werden immer mit !!ARBvp gefolgt von einer Versionsnummer
eingeleitet. Danach wird
hier eine Variable namens mvp bekannt gemacht welche vom Typ PARAM
ist und somit eine Variable die von OpenGL vorbelegt wird. Variablen sind immer
Vierkomponenten-Vektoren bestehend aus Floats. In diesem Fall handelt es sich um
ein Array von vier dieser Vektoren die mit den Komponenten der ModelviewProjection-Matrix
- dem Ergebnis der Multiplikation der Modelview- mit der Projektions-Matrix -
vorbelegt werden.
Mit dem Befehl DP4 wird ein Punktprodukt von zwei Vierkomponenten-Vektoren erzeugt und im ersten Operanden gespeichert.
Die Variable vertex enthält den Vertex auf dem der Shader gerade ausgeführt wird, die Variable result ist der Ergebnisvertex.
In diesem Shader wird die Position des Vertex einfach mit der ModelviewProjection-Matrix (ab jetzt kurz MVP genannt) multipliziert und in result gespeichert.
Das zugehörige Fragment Program gestaltet sich folgendermaßen:
ARB Fragment Programs werden immer mit !!ARBfp eingeleitet, auch hier gefolgt von einer Versionsnummer. Nachdem eine Variable namens c mit konstanten Werten vorbelegt wurde wird die Farbe des Ergebnisfragmentes result auf 0.0, 0.0, 1.0, 1.0 - also blau - gesetzt.