Geometry-Shader
Eine Geometry-Shader-Hardware ist ein relativ neuartiger Baustein in der 3D-Computergrafik. Als Shader in der klassischen Rendering Pipeline wird der Geometry Shader nach dem Vertex-Shader aufgerufen. Er kann neue primitive Geometrien aus bereits vorhandenen Primitiven (Punkte, Linien, Dreiecke) erzeugen und diese erneut in die Rendering-Pipeline einfügen. Da das Anlegen neuer Knoten im eigentlichen Sinne kein Teil des Renderings (Transformation, Beleuchtung, Texturierung) darstellt, nimmt der Geometry-Shader eine Sonderrolle ein.
Geometry Shading wird bislang lediglich durch nVidias Grafikprozessor nVidia GeForce 8800 unterstützt. Softwareseitig erfolgt die Programmierung von Geometry-Shadern entweder über die von Windows Vista angebotene Schnittstelle Direct3D 10 (vgl. DirectX) oder über OpenGL-Erweiterungen, die von den neueren nVidia-Treibern angeboten werden. Sie ermöglichen Effekte wie Point Sprite Expansion (Ersetzen von einzelnen Punkten/Partikeln durch Volumendaten) oder auch Shadow Volume Generation (volumenhaft ausgebildeter Schatten ersetzt "flache" Schattenbilder).
Literatur
- DirectX Software Development Kit Documentation