Definicja bufora szablonów przez Wikipedię naprawdę nie jest świetna, zbyt mocno koncentruje się na szczegółach współczesnych implementacji (OpenGL). Uważam, że wersja jednoznaczna jest łatwiejsza do zrozumienia:
Szablon to szablon służący do rysowania lub malowania za każdym razem identycznych liter, symboli, kształtów lub wzorów. Projekt utworzony przez taki szablon jest również nazywany szablonem.
To właśnie oznaczało szablon przed grafiką komputerową. Jeśli wpiszesz szablon w Grafice Google, jest to jeden z pierwszych wyników:
Jak widać, jest to po prostu maska lub wzór, którego można użyć do „namalowania” negatywu wzoru na czymś.
Stencil buffer prac w dokładnie taki sam sposób. Można wypełnić bufor szablonu wybranym wzorem, wykonując przejście renderowania szablonu, a następnie ustawić odpowiednią funkcję szablonu, która określi sposób interpretacji wzoru na kolejnych rysunkach, a następnie wyrenderuje końcową scenę. Piksele, które wpadają w odrzucone obszary maski szablonu, zgodnie z funkcją porównania, nie są rysowane.
Jeśli chodzi o implementację bufora szablonów, czasami rzeczywiście jest on sprzężony z buforem głębokości. Większość urządzeń graficznych korzysta z 1-bajtowego (8-bitowego) bufora szablonów, co wystarcza w większości aplikacji. Bufory głębokości są zwykle implementowane przy użyciu 3 bajtów (24 bity), co znowu jest zwykle wystarczające dla większości rodzajów renderowania 3D. Logiczne jest więc spakowanie 8 bitów bufora szablonu z innymi 24 buforami głębokości, dzięki czemu możliwe jest zapisanie każdego piksela głębokości + szablonu w 32-bitowej liczbie całkowitej. To właśnie Wikipedia rozumiała przez:
Bufor głębokości i bufor wzornika często dzielą ten sam obszar w pamięci RAM sprzętu graficznego.
Jedną z aplikacji, w której bufor wzornika był królem, był rendering cienia, w technice zwanej objętościami cieni , a czasem także odpowiednio zwanymi cieniami wzornikowymi . Było to bardzo sprytne użycie bufora, ale obecnie wydaje się, że większość pola renderowania przesunęła się w kierunku map cieni opartych na głębokości.
cleaver
->clever
. Nie mogę go edytować D: Nawiasem mówiąc, świetna odpowiedź, to jak dotąd najbardziej sensowne.