ios 带有间接命令缓冲区的纹理

o75abkj4  于 2023-06-25  发布在  iOS
关注(0)|答案(1)|浏览(52)

我使用func drawIndexedPrimitives(type primiveType:MTLPrimitiveType,indexType:MTLIndexType,indexBuffer:MTLBuffer,indexBufferOffset:Int,indirectBuffer:MTLBuffer,indirectBufferOffset:Int),当我使用参数缓冲区来设置纹理(例如到fragnent shader),一切都很好。但是有没有一种方法可以在没有参数缓冲区的情况下设置纹理?参数缓冲区是唯一的方法吗?
当与参数缓冲器一起使用时,事情进展顺利。

ljo96ir5

ljo96ir51#

不,没有别的办法。如果使用间接命令缓冲区,则必须通过参数缓冲区获取纹理。
如果您查看CPU上的API:

  • MTLIndirectRenderCommand只有setVertexBuffersetFragmentBuffer
  • MTLIndirectComputeCommand只有setKernelBuffer

在GPU上:

  • render_command只有set_vertex_buferset_fragment_buffer
  • compute_command只有set_kernel_bufer

相关问题