Shader

Mit Shadern, „Schattierer“, lässt sich alles, was sich über statische Elemente wie Geometrie und Texturen hinaus geht, darstellen, also sämtliche dynamischen Effekte. Einen Spiegeleffekt auf einem Fenster etwa, den Wellengang auf dem Meer und am Strand, Echtzeitschatten oder eben sich bewegende Wolken, Nebel, Dunst. All das lässt sich ohne Shader nicht realisieren.
Es gibt Vertex-Shader und Pixel-Shader. Der Vertex-Shader positioniert Dreiecke (Polygone) und ist zuständig für erste Beleuchtungsberchnungen. Nebeneffekt vom Vertex-Shader ist, das er die CPU entlastet. Pixel-Shader sorgen für die Farben innerhalb der Dreiecksfläche, also für die Texturen, und sind somit auch für das Rendering zuständig.
Beide arbeiten entsprechend abhängig voneinander. Diese Shader-Berechnungen liefern der Grafikkarte also die pixelgenauen Anweisungen zum Vermischen von verschiedenen Texturschichten, was soweit geht, das dieses dynamisch auf die Lichtsituationen reagieren. Warum ist das so essentiell? Ein Bild wird für eure Augen erst richtig dreidimensional durch Licht und Schatten. Deaktiviert ihr in eurem Spiel die Schatten, werdet ihr erfahren, dass alles plötzlich 2dimensional wirkt – aber natürlich ist die Performance um ein vielfaches besser. Das Schwierigste an Shader-Berechnungen sind dabei nicht die direkten Schatten, die durch klar positionierte Lichtquellen entstehen, sondern die Berechnung übereinanderliegende Texturen. Jede dieser Texturen muss einen eigenen Schatten projezieren, sobald sich die Lichtverhältnisse ändern, und zwar sowohl in Position als auch Intensität.

Priar

Sic itur ad astra.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.