Shader
.
Ein Shader ist ein spezialisiertes Programm, das auf der GPU (Grafikkarte) ausgeführt wird und steuert, wie 3D-Daten letztlich auf dem Bildschirm erscheinen. Während ein 3D-Modell zunächst nur aus Geometrie (Punkte, Kanten, Flächen) besteht, sorgt der Shader dafür, dass diese Geometrie realistisch oder stilisiert dargestellt wird.
Es gibt verschiedene Arten von Shadern mit unterschiedlichen Aufgaben:
Vertex-Shader
- Berechnet die Position jedes einzelnen Vertex (Eckpunkts) im Raum
- Verantwortlich für Transformationen (Drehung, Skalierung, Projektion auf den Bildschirm)
Fragment-/Pixel-Shader
- Bestimmt die Farbe jedes Pixels auf der Fläche eines Objekts
- Hier werden Licht, Schatten, Texturen, Transparenz und Effekte wie Glanz oder Metalloberflächen berechnet
Geometry-Shader, Compute-Shader u.a.
- Geometry-Shader: Kann zusätzliche Geometrie generieren (z. B. für Partikeleffekte)
- Compute-Shader: Allgemeine Berechnungen, z. B. für Physik oder Simulationen, die nicht direkt mit Darstellung zu tun haben
Shader werden meist in speziellen Sprachen geschrieben wie GLSL (OpenGL Shading Language), HLSL (DirectX) oder ShaderLab (Unity).
Kurz gesagt: Ein Shader ist das „Aussehensprogramm“ eines 3D-Objekts – er bestimmt, wie ein Objekt mit Licht, Material und Umgebung interagiert und somit auf dem Bildschirm wirkt.