什么是模具缓冲区?(a stencil buffer?)

在计算机图形编程中,模具缓冲区是一个内存区域,可以绘制到其他图形缓冲区,并与其他图形缓冲区相关使用,以实现不同的效果,或遮罩场景区域,使其不会被处理或渲染。模具缓冲区是一种类似于黑白图像的每像素缓冲区,其中缓冲区中的每个位置可以保存一个值,该值通常最多为1字节,但可以小到1位。缓冲区最初设计为用作真实或虚假遮罩,与真实世界的模具非常相似,因此可以通过将模具缓冲区不同区域的值设置为非零的值来遮挡或忽...

在计算机图形编程中,模具缓冲区是一个内存区域,可以绘制到其他图形缓冲区,并与其他图形缓冲区相关使用,以实现不同的效果,或遮罩场景区域,使其不会被处理或渲染。模具缓冲区是一种类似于黑白图像的每像素缓冲区,其中缓冲区中的每个位置可以保存一个值,该值通常最多为1字节,但可以小到1位。缓冲区最初设计为用作真实或虚假遮罩,与真实世界的模具非常相似,因此可以通过将模具缓冲区不同区域的值设置为非零的值来遮挡或忽略场景区域。除了简单的遮罩,缓冲区还有很多用途,包括绘制阴影体积、在对象周围实现光晕或定位对象彼此重叠的区域。在许多情况下,缓冲区保存在图形卡的图形内存中,以便在渲染期间快速访问。

模具缓冲区的概念最初是一种创建二维(2D)遮罩的方法,当顶点在图形管道中移动时,该遮罩可以应用于三维(3D)场景。如果三维顶点的位置(光栅化后)与模具缓冲区中未设置为零的区域相关,则可以忽略该顶点,并跳过其余的管道处理。这使得程序员可以只渲染场景的一小部分,或者将图像渲染到形状不规则的视口中,例如较大场景中的小镜子中的反射,其中镜子的形状在缓冲区中绘制为模板,然后通过该形状绘制反射。

内存问题导致模具缓冲区的原始形式是由单个位值组成的网格,其中缓冲区中的每个像素只能为真或假。随着图形卡的发展,大多数缓冲区能够在每个像素位置保存一个完整的字节值,从而允许程序员在一个位置具有更复杂的值。这可以允许缓冲区用于检测对象重叠的区域,如果对象在光栅化时占据屏幕上的某个像素,则可以通过在某个位置增加缓冲区的值来实现。此操作后,缓冲区中每个像素位置的值将等于屏幕上穿过该像素的对象数。

模具缓冲区最常用的用途之一是创建体积阴影。这可以通过首先渲染具有非常暗淡的照明的场景来完成,以便所有内容都显示为着色。接下来,进行计算以确定场景中由光源照明的所有多边形曲面的位置,并将这些形状传输到模具缓冲区。场景再次渲染,就好像每个对象都被完全照亮一样,并通过模具形状混合到阴影场景中,从而有效地创建一个似乎包含有阴影对象的图像。

  • 发表于 2021-12-12 13:21
  • 阅读 ( 28 )
  • 分类:互联网

你可能感兴趣的文章

缓冲作用(buffer action)和缓冲容量(buffer capacity)的区别

...的水溶液。术语buffer action和buffer capacity描述了可以充当缓冲区的解决方案的属性。 目录 1. 概述和主要区别 2. 什么是缓冲作用 3. 什么是缓冲容量 4. 并列比较-以表格形式显示缓冲动作与缓冲容量 5. 摘要 什么是缓冲作用(buffer acti...

  • 发布于 2020-10-05 02:46
  • 阅读 ( 422 )

酸碱度(ph)和缓冲器(buffer)的区别

...可以用液体的pH值来判断它是酸还是碱。它也有助于确定缓冲区的缓冲容量。缓冲溶液含有弱酸及其共轭碱的混合物,反之亦然。因此,它倾向于抵抗溶液pH值的变化。 目录 1. 概述和主要区别 2. 什么是pH 3. 什么是缓冲区 4. 并列...

  • 发布于 2020-10-17 20:12
  • 阅读 ( 506 )

能否在windows命令提示符下更改输出缓冲区的大小?

...欢使用Windows命令提示符的人,那么您可能会对屏幕输出缓冲区为什么有这么大的默认大小感到好奇。你能把它换成更小(甚至更大)的尺寸吗?今天的超级用户问答有答案。 今天的问答环节是由SuperUser提供的,SuperUser是Stack Exch...

  • 发布于 2021-04-10 02:53
  • 阅读 ( 230 )

如何计算缓冲容量(calculate buffer capacity)

...此类推。 然而,研究表明,浓度越高,缓冲容量越大。 缓冲区容量由缓冲区索引给出β. β = ∆B类/∆酸碱度 ∆B=添加的强酸或强碱的量(摩尔浓度moldm-3)和∆pH=添加强碱或强酸引起的pH差。 如何计算缓冲区容量 第1步:取1 dm3...

  • 发布于 2021-06-27 00:24
  • 阅读 ( 1024 )

缓冲的(buffered)和无缓冲闸板(unbuffered ram)的区别

...,RAM还可以分为缓冲RAM和非缓冲RAM。 覆盖的关键领域 1.什么是缓冲RAM–定义,功能2.什么是非缓冲RAM–定义,功能3.缓冲RAM和非缓冲RAM之间的差异–主要差异比较 关键术语 缓冲RAM、DRAM、RAM、SRAM、无缓冲RAM 什么是缓冲ram(buffered ...

  • 发布于 2021-07-01 00:46
  • 阅读 ( 535 )

如何制作磷酸盐缓冲溶液(make a phosphate buffer solution)

缓冲溶液的目标是在溶液中加入少量酸或碱时,帮助保持稳定的pH值。磷酸盐缓冲液是一种方便的缓冲液,特别是在生物应用中。由于磷酸具有多个离解常数,因此可以在三个pH值(分别为2.15、6.86和12.32)附近制备磷酸盐缓冲液...

  • 发布于 2021-09-15 18:33
  • 阅读 ( 312 )

什么是缓冲区和(buffers and )

...液的使用是酸碱化学中的一个重要概念。下面我们来看看缓冲区是什么以及它们是如何工作的。 什么是缓冲区(a buffer)? 有两个与缓冲区相关的关键术语。缓冲液是具有高度稳定pH值的水溶液。缓冲剂是弱酸或弱碱,有助于...

  • 发布于 2021-10-14 06:47
  • 阅读 ( 343 )

什么是数据缓冲区?(a data buffer?)

... 数据缓冲区是计算机内存中的一部分,用于在数据从存储器中移出的过程中为数据提供临时存放位置,以符合用户发起的查询。从某种意义上说,这意味着缓冲区为数据创建了...

  • 发布于 2021-12-10 10:09
  • 阅读 ( 301 )

什么是键盘缓冲区?(a keyboard buffer?)

... 键盘缓冲区是一个非常小的内存分区,通常存储在随机存取存储器(RAM)中的计算机内存中,并捕获键盘上的所有击键。按键被存储是因为按键与屏幕上显示按键之间有轻微延...

  • 发布于 2021-12-10 16:25
  • 阅读 ( 182 )

什么是opengl®阴影?(an opengl® shadow?)

...中的对象和几何体创建阴影的各种技术,例如各种可用的缓冲区、着色器,在某些情况下,还可以使用扩展来访问某些图形卡上的特殊功能。在大多数情况下,OpenGL®阴影渲染的质量、精度和速度与计算机或设备中图形硬件的处...

  • 发布于 2021-12-11 17:40
  • 阅读 ( 156 )