metal - 什么是 Metal 中的颜色附件?

标签 metal

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

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

最佳答案

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

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

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

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

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

关于metal - 什么是 Metal 中的颜色附件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43854990/

相关文章:

ios - MTLBlitCommandEncode 是否执行线性采样

ios - 在 Metal 计算着色器中排序

ios - 如何更改设置以在 Xcode 中导入 MetalPerformanceShaders

ios - 使用MTKTextureLoader加载远程图像

swift - ModelIO 框架不工作

ios - iOS OpenGLES 上 DisparityFloat16 像素格式的纹理采样器值

iOS Metal 缓冲区不尊重步幅值

用于在运行时识别 Metal 支持的 iOS 代码?

ios - Metal 顶点着色器扩展单个三角形

swift - 无法在 Metal 的片段着色器中正确访问结构对象?