¿Qué es un búfer de plantilla?
En la programación de gráficos por computadora, un búfer de plantilla es un área de memoria que se puede dibujar y utilizar en relación con otros búferes de gráficos para lograr diferentes efectos, o enmascarar áreas de una escena para que no se procesen ni se rendericen. Un búfer de plantilla es un búfer por píxel similar a una imagen en blanco y negro, en la que cada ubicación en el búfer puede contener un valor que a menudo es de 1 byte de largo como máximo, pero puede ser tan pequeño como 1 bit. El búfer originalmente fue diseñado para actuar como una máscara verdadera o falsa, muy parecida a una plantilla del mundo real, por lo que las áreas de una escena podrían oscurecerse o ignorarse estableciendo los valores de diferentes regiones del búfer de plantilla a un valor que no sea cero. Hay varios usos para el búfer más allá del enmascaramiento simple, incluido el dibujo de un volumen de sombra, la implementación de halos alrededor de los objetos o la ubicación de áreas donde los objetos se superponen entre sí. En muchos casos, el búfer se mantiene en la memoria gráfica en una tarjeta gráfica para que se pueda acceder rápidamente durante Rendering.
El concepto de un búfer de plantilla originalmente era una forma de crear una máscara bidimensional (2D) que podría aplicarse a una escena tridimensional (3D) a medida que los vértices se movían a través de la tubería de gráficos. Si la ubicación del vértice 3D, una vez rasterizada, está relacionada con un área del búfer de plantilla que no se estableció en cero, entonces ese vértice podría ignorarse y el resto del procesamiento de su tubería se omitió. Esto permitió a los programadores una forma de representar solo partes pequeñas de una escena o de convertir una imagen en una ventana gráfica de forma irregular, como un reflejo en un pequeño espejo dentro de una escena más grande, donde la forma del espejo se dibuja como una plantilla en el buffer, y luego la reflexión se dibuja a través de esa forma.
Las preocupaciones de memoria condujeron a la forma original de un búfer de plantilla como una cuadrícula de valores de un solo bits en el que cada píxel en el búfer solo podría ser verdadero o falso. A medida que se desarrollan las tarjetas gráficasEd, la mayoría de los buffers pudieron mantener un valor de byte completo en cada ubicación de píxeles, lo que permite a los programadores tener valores más complejos en una ubicación. Esto puede permitir que el búfer se use para detectar áreas donde los objetos se superponen, lo que se puede hacer incrementando el valor del búfer en una ubicación si un objeto ocupa ese píxel en la pantalla cuando se estremece. Después de esta operación, el valor de cada ubicación de píxel en el búfer igual a la cantidad de objetos que cruzan ese píxel en una pantalla.
Uno de los usos más populares para un búfer de plantilla es crear sombras de volumen. Esto se puede hacer primero presentando una escena con una iluminación muy tenue para que todo parezca estar sombreado. A continuación, se realizan cálculos para determinar la ubicación de todas las superficies de polígono en la escena que están iluminadas por una fuente de luz, y estas formas se transfieren al búfer de plantilla. La escena se vuelve a reproducirse como si cada objeto estuviera completamente iluminado y se mezcla a través de las formas de la plantilla en la escena sombreada, EFcreando fectivamente una imagen que parece contener objetos con sombras.