什么是模板缓冲区(Stencil Buffer)?

在计算机图形编程中,模板缓冲区是一个内存区域,可以将其与其他图形缓冲区一起使用,以获得不同的效果,或屏蔽场景中的区域,使其不会被处理或渲染。模板缓冲区是一个每像素的缓冲区,类似于黑白图像,其中,缓冲区中的每个位置都可...
在计算机图形编程中,模板缓冲区是一个内存区域,可以将其与其他图形缓冲区一起使用,以获得不同的效果,或屏蔽场景中的区域,使其不会被处理或渲染。模板缓冲区是一个每像素的缓冲区,类似于黑白图像,其中,缓冲区中的每个位置都可以保存一个值,该值最长不超过1字节,但可以小到1位。缓冲区最初设计为充当真或假遮罩,非常类似于真实世界的模具,因此通过将模具缓冲区不同区域的值设置为一个值,可以使场景的区域变得模糊或忽略除了零。除了简单的遮罩之外,缓冲区还有很多用途,包括绘制阴影体、在对象周围实现光晕或定位对象彼此重叠的区域。在许多情况下,缓冲区保存在显卡上的图形内存中,以便在渲染过程中可以快速访问缓冲区女人用电脑倒立这个概念最初是一种创建当顶点在图形管道中移动时,可应用于三维(3D)场景的二维(2D)遮罩。如果3D顶点的位置(一旦栅格化)与模具缓冲区中未设置为零的区域相关,则可以忽略该顶点,并跳过其管道处理的其余部分这使得程序员可以只渲染场景的一小部分,或者将图像渲染到形状不规则的视口中,例如在较大场景中的小镜子中的反射,在该场景中,将镜像的形状绘制为模板,然后通过该形状绘制反射内存问题导致模板缓冲区的原始形式是一个由单个位值组成的网格,其中缓冲区中的每个像素只能是真或假每个像素位置,允许程序员在一个位置有更复杂的值。这可以允许缓冲区用于检测对象重叠的区域,如果对象在光栅化时占据屏幕上的像素,则可以通过增加某个位置的缓冲区的值来完成此操作,缓冲区中每个像素位置的值将等于在屏幕上穿过该像素的对象的数量。模板缓冲区最常用的用途之一是创建体积阴影。这可以通过首先使用调暗灯光,使所有的东西看起来都是着色的。接下来,进行计算以确定场景中由光源照明的所有多边形曲面的位置,这些形状被传输到模板缓冲区,场景再次被渲染,就像每个对象都被完全照亮一样,并通过模版形状混合到阴影场景中,有效地创建了一个看起来包含有阴影的对象的图像。
  • 发表于 2020-07-31 02:23
  • 阅读 ( 1197 )
  • 分类:电脑网络

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具