可以在两个drawPrimitives调用之间更改MTLRenderCommandEncoder的MTLCullMode吗?
问题描述:
详细说明,我可以在下面有什么东西吗?可以在两个drawPrimitives调用之间更改MTLRenderCommandEncoder的MTLCullMode吗?
let encoder: MTLRenderCommandEncoder
encoder.setCullMode(.front)
encoder.drawPrimitives(*)
encoder.setCullMode(.back)
encoder.drawPrimtives(*)
答
是的。所有的“设置”方法都可以让你做到这一点。请注意这些与渲染通道描述符之间的区别。您配置一个渲染通道描述符,然后从中创建渲染命令编码器。之后,编码器上描述符所描述的属性都不能改变。但编码器本身的属性可能是。换句话说,如果一个属性并不意味着在编码器的生命周期内被改变,它将成为描述符的一部分,并且不会有“set”方法。