金属片段着色器通过显式返回
float4
值渲染到其渲染目标中。这是否意味着片段着色器一次只能渲染一张纹理?我想一次渲染成 2 个纹理,两者都在相同的坐标,但现在我必须诉诸 texture2d.write
函数来处理其中一个,这对我来说似乎不太自然。有没有办法让两个纹理同时成为渲染目标?
您可以从片段着色器返回
struct
,其中每个变量都有您想要输出的类型(如 float4
)和类似 [[color(i)]]
的属性,其中 i
是来自 的颜色附件的索引MTLRenderPassDescriptpr