← Zurück zu Animation & VFX
Ein Shader ist ein kleines Programm, das auf der GPU ausgeführt wird und für jeden Pixel oder Vertex berechnet, wie Licht mit einer Oberfläche interagiert und welche Farbe das Ergebnis hat. Ein Material ist die vollständige Konfiguration von Shader-Parametern, Texturen und Einstellungen, die einem 3D-Objekt sein sichtbares Erscheinungsbild verleiht.

Rubrik: Animation & VFX · Unterrubrik: 3D-Grundlagen · Niveau: Einsteiger Synonyme / Auch bekannt als: Surface Shader, Material Shader, GLSL/HLSL Shader, Shader-Netzwerk, Material-Slot

Was sind Shader und Materialien?

Wenn ein 3D-Objekt gerendert wird, muss die Software für jeden sichtbaren Punkt auf der Oberfläche berechnen: Welche Farbe hat dieser Punkt unter den gegebenen Lichtverhältnissen? Diese Berechnung übernimmt der Shader. Er verarbeitet Eingaben wie Lichtrichtung, Betrachtungswinkel, Texturwerte und Materialeigenschaften und gibt als Ausgabe die finale Pixelfarbe zurück. Ein Material bündelt alle diese Einstellungen und macht sie auf ein Objekt anwendbar.

Erklärung

Shader-Typen:

  • Vertex Shader: Verarbeitet geometrische Daten pro Vertex – Position, Normalen, UV-Koordinaten. Wird zuerst ausgeführt.
  • Fragment/Pixel Shader: Berechnet die Farbe jedes einzelnen Pixels auf der Oberfläche. Hier findet die Lichtberechnung statt.
  • Geometry Shader: Optional; erzeugt neue Geometrie auf der GPU (z. B. für Gras-Instanzierung oder Prozedurale Effekte).
  • Compute Shader: Allgemeine GPU-Berechnungen (Physik, Partikel, KI), nicht spezifisch für Rendering.

BSDF (Bidirectional Scattering Distribution Function): Die mathematische Grundlage für physikalisch korrekte Lichtinteraktion. Beschreibt, wie Licht an einer Oberfläche gestreut, reflektiert und transmittiert wird. Unterschieden werden:

  • BRDF (Bidirectional Reflectance): nur Reflexion (opake Oberflächen)
  • BTDF (Bidirectional Transmittance): Transmission (transparente Materialien)
  • BSSRDF (Subsurface Scattering): Licht dringt in Material ein und streut innen (Haut, Wachs, Marmor)

Der Principled BSDF in Blender: Blenders wichtigster Shader vereint viele Materialtypen in einem einzigen Node. Wichtige Parameter:

  • Base Color: Grundfarbe
  • Metallic: 0 = nicht-metallisch, 1 = metallisch
  • Roughness: Rauheit der Oberfläche
  • IOR: Brechungsindex (für Glas, Wasser)
  • Transmission: Transparenz/Durchsichtigkeit
  • Subsurface: Lichtstreuung unter der Oberfläche
  • Emission: Selbstleuchtende Bereiche
  • Alpha: Transparenz

Node-basiertes Material-System: Moderne 3D-Software nutzt node-basierte Shader-Netzwerke: Einzelne Rechenbausteine (Nodes) werden durch Verbindungen (Links) zu komplexen Materialien verknüpft. Eine Textur ist ein Node, eine Farb-Mischung ist ein Node, der finale Shader-Ausgang ist ein Node. Dies ermöglicht unbegrenzte Flexibilität.

Prozedurale Materialien: Statt Texturdateien können Materialien vollständig durch mathematische Funktionen erzeugt werden (Noise, Wave, Gradient, Voronoi). Prozedurale Materialien skalieren verlustfrei auf jede Größe, haben keine UV-Abhängigkeit und können animiert werden.

Shader-Sprachen:

  • GLSL (OpenGL Shading Language): Standard für OpenGL, Linux/macOS, Blender/EEVEE
  • HLSL (High Level Shading Language): DirectX, Windows, Unreal Engine
  • OSL (Open Shading Language): Offline-Rendering, Blender Cycles, Arnold, V-Ray
  • Metal Shading Language: Apple-Plattformen

Beispiele

  1. Blender Shader Editor: Mit Shift+A öffnet man das Node-Menü. Ein vollständiges einfaches Material: Image Texture (sRGB) → Base Color, Image Texture (Non-Color) → Roughness, Normal Map Node + Image Texture → Normal – alle verbunden mit dem Principled BSDF → Material Output.
  2. Cinema 4D: Der Redshift-Material-Editor oder das Standard-Cinema4D-Material bieten Kanäle für alle Materialeigenschaften. Mit XPresso lassen sich Shader-Netzwerke ähnlich wie in Blender erstellen.
  3. Maya / Arnold: Der aiStandardSurface-Shader ist Mayaʼs PBR-Hauptshader. Im Hypershade-Editor werden alle Nodes visuell verknüpft.
  4. Unreal Engine 5: Der Material-Editor ist node-basiert. Ein Material-Node mit Base Color, Metallic, Roughness und Normal als Inputs ist das Minimum für ein PBR-Asset.
  5. Anfängerfehler: Einen einzigen, flachen Principled BSDF ohne Texturen für alle Objekte einer Szene verwenden. Jede Oberfläche braucht eigene, angepasste Materialien – auch einfache Variation in Roughness und Color macht den Unterschied zwischen plastisch und flach wirkender Szene.

In der Praxis

In Blender: Objekt selektieren → Properties → Material Properties (Kugel-Icon) → „New" → Shader Editor öffnen (Shift+F3). Standard ist ein Principled BSDF-Node. Für komplexe Materialien: Mit Shift+A neue Nodes hinzufügen und verbinden. Wichtige Shortcuts im Shader Editor: Shift+A (Node hinzufügen), F (Nodes verbinden/trennen), Strg+Shift+T (mit dem Principled Texture Setup Add-on alle PBR-Texturen automatisch zuweisen). Materialien können per Drag & Drop auf andere Objekte übertragen oder über den Outliner-Slot geteilt werden.

Vergleich & Abgrenzung

Shader vs. Material: Der Shader ist das Programm/die Berechnung; das Material ist die Konfiguration des Shaders mit konkreten Werten und Texturen. Ein Shader-Programm kann für viele verschiedene Materialien genutzt werden. Shader vs. Textur: Texturen sind Bilddaten (Eingaben); Shader sind die Programme, die diese Daten verarbeiten und in Pixelfarben umrechnen. Prozedurale vs. texturbasierte Materialien: Prozedurale Materialien benötigen keine UV-Maps und skalieren unbegrenzt, sind aber schwieriger für fotorealistische Oberflächen. Texturbasierte Materialien können hochdetaillierte Fotos oder Gemälde verwenden.

Häufige Fragen (FAQ)

Was ist der Unterschied zwischen einem PBR-Shader und einem NPR-Shader? PBR (Physically Based Rendering)-Shader simulieren physikalisch korrekte Lichtinteraktion für fotorealistische Ergebnisse. NPR (Non-Photorealistic Rendering)-Shader erzeugen bewusst stilisierte, nicht-fotorealistische Looks: Toon/Cel Shading (Comic-Look), Aquarell, Bleistiftzeichnung oder andere Kunststile. In Blender erreicht man NPR-Looks mit EEVEE und benutzerdefinierten Shader-Netzwerken.

Wie viele Materialien sollte ein 3D-Objekt haben? So viele wie nötig, so wenige wie möglich. Jedes Material erfordert einen Rendering-Draw-Call in Echtzeit. Für Game-Assets ist es oft sinnvoll, mehrere Objekte in einem einzigen Material mit einer Atlas-Textur zusammenzufassen. Für Film-VFX gibt es keine solche Einschränkung – komplexe Charaktere können Dutzende spezialisierter Materialien für Haut, Augen, Zähne, Kleidung etc. haben.

Verwandte Einträge

Weiterführend

  • Rost, R. J. et al. (2009): OpenGL Shading Language. 3. Aufl. Addison-Wesley.
  • Akenine-Möller, T. et al. (2018): Real-Time Rendering. 4. Aufl. CRC Press.
  • Online: Blender Docs – Shaders:
← Zurück zu Animation & VFX
Infotag · 13. Mai · 15:00 Uhr · Vor Ort

Sei am Mittwoch dabei.
Bring Eltern oder Freunde mit.

Ein halber Nachmittag, der dir drei Jahre Klarheit bringen kann. Kostenlos, unverbindlich, ehrlich.

  • Rundgang durch Studios, Schnitträume und Tonstudio
  • Echte Absolventenfilme sehen
  • 1:1-Beratung zu Bewerbung & BAföG
  • Studierende direkt fragen
  • Kaffee, kein Sales-Pitch
  • Auch online möglich

Platz beim Infotag reservieren

Dauert 30 Sekunden. Bestätigung per E-Mail.
100 % kostenlos · keine Verpflichtung · jederzeit absagbar
Shader & Material – Wie 3D-Objekte ihre Erscheinung erhalten — Wiki | Lazi Akademie Esslingen