Die Schablonenpuffer-Definition von Wikipedia ist in der Tat nicht großartig, sie konzentriert sich zu sehr auf die Details moderner Implementierungen (OpenGL). Ich finde die eindeutige Version verständlicher:
Eine Schablone ist eine Vorlage, mit der bei jeder Verwendung identische Buchstaben, Symbole, Formen oder Muster gezeichnet oder gemalt werden. Das mit einer solchen Vorlage erzeugte Design wird auch als Schablone bezeichnet.
Das war es, was Schablone vor Computergrafik bedeutete. Wenn Sie Schablone in Google Bilder eingeben, ist dies eines der ersten Ergebnisse:
Wie Sie sehen, ist es einfach eine Maske oder ein Muster, mit dem das Negativ des Musters auf etwas "gemalt" werden kann.
Der Schablonenpuffer funktioniert genauso. Sie können den Schablonenpuffer mit einem ausgewählten Muster füllen, indem Sie einen Schablonenrenderdurchlauf ausführen, dann die entsprechende Schablonenfunktion einstellen, die definiert, wie das Muster in nachfolgenden Zeichnungen interpretiert werden soll, und dann die endgültige Szene rendern. Pixel, die gemäß der Vergleichsfunktion in die zurückgewiesenen Bereiche der Schablonenmaske fallen, werden nicht gezeichnet.
Wenn es um die Implementierung des Schablonenpuffers geht, ist er manchmal tatsächlich mit dem Tiefenpuffer gekoppelt. Die meiste Grafikhardware verwendet einen Schablonenpuffer von 1 Byte (8 Bit), was für die meisten Anwendungen ausreicht. Tiefenpuffer werden normalerweise mit 3 Bytes (24 Bits) implementiert, was normalerweise für die meisten Arten von 3D-Rendering ausreicht. Es ist daher nur logisch, die 8 Bits des Schablonenpuffers mit den anderen 24 Bits des Tiefenpuffers zu packen, wodurch es möglich wird, jedes Tiefen- + Schablonenpixel in einer 32-Bit-Ganzzahl zu speichern. Das hat Wikipedia gemeint mit:
Der Tiefenpuffer und der Schablonenpuffer teilen sich oft den gleichen Bereich im RAM der Grafikhardware.
Eine Anwendung, in der der Schablonenpuffer früher König war, war das Rendern von Schatten in einer Technik, die als Schattenvolumen oder manchmal auch als Schablonenschatten bezeichnet wurde . Dies war eine sehr clevere Verwendung des Puffers, aber heutzutage scheint sich der größte Teil des Rendering-Felds in Richtung tiefenbasierter Schattenkarten verlagert zu haben.
cleaver
->clever
. Ich kann es nicht bearbeiten. D: Tolle Antwort, das macht bisher am meisten Sinn.