Leí mucho la palabra de la plantilla y no tengo idea de cuál es su verdadero propósito en los gráficos por computadora.
Al ver la imagen en blanco y negro en wikipedia, todavía tengo problemas con ella.
¿Por qué utilizamos una plantilla o un búfer de plantilla, y cuál es la diferencia con un búfer Z? ¿Por qué usar esta palabra que parece tener algún significado en el diseño gráfico?
Respuestas:
En su encarnación original, un búfer de plantilla era un búfer de cuadro de un bit por píxel (es decir, blanco o negro, pero sin grises). Podrías renderizar lo que quisieras como cualquier otro framebuffer. Luego, más tarde, podría usar el contenido de ese búfer para "modelar" o enmascarar al dibujar en su búfer normal.
Un ejemplo: Digamos que estás haciendo un juego de conducción. Desea tener un pequeño espejo retrovisor en pantalla que le muestre lo que hay detrás del automóvil. Deberá renderizar una vista apuntando detrás del automóvil, pero solo desea renderizarla dentro del pequeño rectángulo redondeado del espejo retrovisor. La solución típica es:
La plantilla lo enmascarará para que solo dibujes la forma del espejo.
Ahora que las canalizaciones de renderizado son mucho más flexibles y programables, los buffers de galería de símbolos se usan solo como un framebuffer genérico de 1 bit con el que puedes hacer lo que quieras. Las sombras son un caso de uso común.
fuente
Además del uso funcional de los buffers de plantilla que la gente ya ha discutido, los buffers de plantilla también se pueden usar para la optimización.
Debido a la posición de la prueba de galería de símbolos en la tubería de gráficos (que es antes del sombreado de píxeles), la prueba de galería de símbolos se puede usar para eliminar los píxeles que hacen un trabajo de sombreado pesado cuando no son necesarios. A menudo esto se puede hacer con una granularidad más gruesa que un solo píxel, por ejemplo. un mosaico de píxeles, por lo que el trabajo a menudo se puede eliminar durante las etapas de rasterización gruesa también.
fuente
Es solo un búfer que controla qué píxeles se pueden modificar cuando se representan los polígonos. Para cada píxel, hay un valor de plantilla correspondiente, y los píxeles se pueden modificar / ignorar condicionalmente dependiendo de estos valores
En su forma más simple, se puede usar como una plantilla física: una máscara que permite el paso de algunos píxeles y detiene la modificación de otros píxeles.
Es muy similar en comportamiento a una prueba de profundidad similar al búfer z, la prueba de plantilla es una prueba de verdadero / falso, y hay configuraciones similares para controlar la prueba de plantilla (pasar si es mayor / menor / igual). Pero en lugar de escribirle una profundidad, generalmente tendrá valores predefinidos escritos en ella, o se incrementará / disminuirá cuando se dibujen píxeles, como se usa en los algoritmos de sombra de plantilla.
fuente