我在 Vulkan 中有一个带有colorBlendState
、blendEnable = false
、的管道logicOpEnable = true
,logicOp = XOR
以便片段着色器的输出与颜色附件的当前内容进行异或。我有这个工作,它的行为符合预期......大部分。
问题是,当在片段缓冲区中使用重叠三角形时,即使它们都位于同一渲染通道中,这些三角形似乎也会相互异或。经过一番研究后,这似乎可能是正确的行为,但这不是我的案例所期望的。有什么方法可以修改我的管道/渲染通道以仅在片段着色器输出和加载的颜色附件内容之间执行逻辑操作,而不是在片段着色器的各个三角形之间执行逻辑操作?
也就是说,我希望在没有混合或逻辑操作的情况下绘制顶点缓冲区中定义的所有三角形,直到最终结果写入颜色附件。有没有办法在不添加第二个渲染通道或子通道的情况下做到这一点?