2017-05-08 25 views
2

我假设颜色附件存在于Metal以外的其他API中(我确实知道OpenGL),但我对图形编程并不熟悉,我想知道彩色附件的概念是什么。我所做的所有绘图都涉及在颜色附件的数组中的第一个上设置属性,然后进行渲染过程。颜色附件字面上只是一个缓冲区?在渲染过程中使用多个单独的点是否将相同的图像绘制到多个缓冲区/纹理?什么是金属颜色附件?

编辑:流水线状态也有颜色附件阵列,就像我刚刚回想的那样。如果它们本质上是缓冲区,那么与设置管道状态有什么关系呢?看到你有OpenGL的一些知识

回答

2

,我就会把它在这些方面:

一个附色是纹理,其连接到一个帧缓冲区的渲染目标,用于离屏渲染。

颜色附件用于多种技术,包括反射,折射和延期着色。

就图形流水线而言,带附件的缓冲区往往是纹理数据源或终点渲染目标。

当您更改绑定缓冲区时,您将更改管道的状态,因为计算机图形硬件是基于状态的。您排队整个管道的状态更改(使用着色器x,绑定缓冲区y,设置统一z),执行这些更改,然后观察呈现在屏幕上的结果。

+0

哦,这是有道理的。所以说,我有一个像Minecraft中的精灵表一样的大纹理,我将在每次绘制调用时从一遍又一遍切下纹理。我会将该纹理作为状态本身的附件之一,以便快速重复访问? –

+1

@SamClaus不,这只是一个纹理。通常,帧缓冲区的附件适用于要执行离屏渲染的情况。当您想要对该附件进行采样时,只需将其与任何其他纹理进行绑定即可。 –