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:
- Representa la forma del rectángulo redondeado en el búfer de la plantilla.
- Habilitar stencilling.
- Renderice la vista hacia atrás en el búfer normal.
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.