openGL =
open Graphics Library, beschreibt Geometrien oder Objekte.
GLU(T) =
Graphics Library Utility (Toolkit) => GLUT für Windows
Primitive =
Einfache grafische Elemente: Punkte, Linien oder Flächen (Polygone).
Grafik-Pipeline =
Der funktionale Aufbau einer 3D-Grafikkarte.
Display-Traversal =
Der gesamte Prozess, bei dem aus einer Menge von Polygonen ein rasterisiertes Bild wird.
Rendering =
Der Vorgang, der zur Erzeugung von synthetischen Bildern führt.
Swizzling =
Der Komponenten-Zugriff erfolgt durch Swizzling, ähnlich wie bei Cg. Swizzling heißt die Technik, die einzelne Elemente über ihren Index vertauscht. Der Index der Elemente entspricht den geometrischen Achsen x, y, z und w.
Clipping =
Liegt ein Dreieck nur noch teilweise oder gar nicht mehr im sichtbaren Bereich, erfolgt eine Entfernung der nicht sichtbaren Teile.
NURBS =
Gekrümmte (sphärische) Flächen
Vertex =
Geometriepunkt mit den Koordinaten {x,y,z,w}
Shader =
Programm, dass z.B. mit Cg geschrieben wurde.
Vertex Shader =
Selbst geschriebene Vertexprogramme Vertex-Shader, also ein Programm, dass in einer Shader-Unit innerhalb der Grafik-Pipeline ausgeführt wird.
Achtung: Shader beschreiben keine Geometrien oder Objekte, das ist immer noch die Aufgabe von OpenGL.
MipMap-Texture =
Mip-Mapping ist eine Antialiasing-Technik für Texturen.
Pixel =
Pixel bestehen meist aus drei Farbwerten RGB (Rot-, Grün- und Blau-Anteile) und einem Alphawert A => z.B. RGBA8888-Format.
Alpha-Wert =
Transparenz
————————————————————————
Es gibt mit Cg zwei Wege, um Shader zu schreiben.
- Der erste nutzt den Compiler »cgc«, um Cg-Programme in Assembler zu übersetzen. Die OpenGL-Erweiterungen »ARB_vertex_program()« und »ARB_fragment_program()« laden den erzeugten Assembler-Code in die GPU. Dieser Weg ist sehr statisch und erlaubt es nicht, den Shader zu verändern, wenn das Programm einmal läuft.
- Eine andere Möglichkeit ist es, den Shader-Code zur Laufzeit (Runtime) zu übersetzen und auszuführen. Dafür enthält Cg die Bibliotheken »libCg.so« und »libCgGL.so« und die zugehörigen Include-Dateien »cg.h« und »cgGL.h«.