可以在两个drawPrimitives调用之间更改MTLRenderCommandEncoder的MTLCullMode吗?

时间:2017-10-21 18:02:07

标签: metal

详细说明,我可以在下面找到类似内容吗?

let encoder: MTLRenderCommandEncoder

encoder.setCullMode(.front)
encoder.drawPrimitives(*)
encoder.setCullMode(.back)
encoder.drawPrimtives(*)

1 个答案:

答案 0 :(得分:2)

是。所有" set"方法是让你做到这一点。注意这些与渲染传递描述符之间的区别。您配置渲染过程描述符,然后从中创建渲染命令编码器。之后,可以在编码器上不改变描述符描述的属性。但编码器本身的属性可能是。

换句话说,如果某个属性并不意味着在编码器的生命周期内进行更改,那么它将成为描述符的一部分,并且不会成为" set"它的方法。