【问题标题】:What is a color attachment in Metal?什么是金属中的颜色附件?
【发布时间】:2017-05-08 18:37:52
【问题描述】:

我假设除了 Metal 之外的其他 API 中存在颜色附件(我肯定知道 OpenGL),但我是图形编程的新手,我想知道颜色附件在概念上到底是什么。我所做的所有绘图都涉及在颜色附件 array 中的第一个设置属性,然后进行渲染通道。颜色附件真的只是一个缓冲区吗?在渲染过程中使用多个的唯一目的是将相同的图像绘制到多个缓冲区/纹理吗?

编辑:正如我刚刚回忆的那样,管道状态也有颜色附件数组。如果它们本质上是缓冲区,那与设置管道状态有什么关系?

【问题讨论】:

    标签: metal


    【解决方案1】:

    鉴于您对 OpenGL 有一定的了解,我将用这些术语来表述:

    颜色附件是作为渲染目标附加到帧缓冲区的纹理,用于离屏渲染。

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

    就图形管道而言,带有附件的缓冲区往往要么是纹理数据的来源,要么是端点渲染目标。

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

    【讨论】:

    • 哦,有道理。假设我有一个大纹理,例如 Minecraft 中的精灵表,我将在每次绘制调用时一遍又一遍地剪切纹理。我会将该纹理作为状态本身的附件之一,以便快速重复访问?
    • @SamClaus 不,那只是一个纹理。通常,帧缓冲区的附件用于您想要执行离屏渲染时。当您想对该附件进行采样时,您只需像绑定任何其他纹理一样绑定它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 2018-09-29
    相关资源
    最近更新 更多