Shader
Gliederung Was ist Shader? Die 3 Shadertypen Verarbeitungskette
Shader Was ist Shader? Hardware Shader sind kleine Recheneinheiten in aktuellen Grafikchips Ab DirektX 8 Plattformunabhängig seid OpenGL 2.0 3 Typen: Pixelshader Vertexshader Geometryshader Pixel Shader – Bildpunkte
Die drei Shadertypen Shader Vertex Shader macht geometrische Berechnungen und dynamische Veränderungen z.B. zur Berechnung von Lava, Lack, Fell usw. Geometry Shader bekommt Polygondaten vom Vertex Shader bearbeitet sie weiter. Pixel Shader berechnet Bildpunkte und berechnet Pixelfarbe - sie sind fester Teil des Grafikchips Vertex Shader - geometrischen Berechnungen und dynamischen Veränderungen von Objekten Pixel Shader – berechnet Bildpunkte und berechnet Pixelfarbe So erzeugen z. B. beide Shader kombiniert den Wassereffekt im Computerspiel FarCry. Seit DirektX10 Geometry Shader – Polygondaten von Vertex Shader.
Shader Die drei Shadertypen
Die drei Shadertypen Shader Da funktionsumfang immer erhöht wurden die 3 Shadertypen im Unified Shader zusammengeführt Alle Shadertypen können alle Funktionen ausführen Grafiktreiber können selbst entscheiden welche der Einheiten als Vertex, Pixel oder Geometry Shader eingesetzt wird, daraus folgt eine höhere Leistung
Verarbeitungskette Shader CPU sendet Steuerbefehle und Geometrie-Daten an die Grafikkarte. Im Vertex-Shader wird die Geometrie transformiert Lichtberechnungen Geometriedaten durlaufen den Geometry-Shader Fertige Geometrie wird in einzelne dreieckige Flächen (Triangles) zerlegt.
Verarbeitungskette Shader Die erste Stufe des Pixel-Shaders ist der Interpolator. Hier werden bestimmte, nur pro Eckpunkt (Vertex) vorliegende Informationen über die Dreiecksfläche interpoliert. Im Pixel-Shader gibt es arithmetische Rechenwerke (Shader Units) und Textur-Einheiten (Texture Mapping Units, TMUs). Nachdem die Pixelberechnung abgeschlossen ist, wird der Test auf Sichtbarkeit ausgeführt. Bei Sichtbarkeit findet ein Schreibvorgang in den Framebuffer statt. Verarbeitungskette