swift - 为什么我不能在 Metal 中绑定(bind)一次 Assets ?

标签 swift metal

看来我得打RenderCommandEncoder.setFragmentTexture了在每个渲染 channel 上,即使我总是将相同的纹理绑定(bind)到索引 0。为什么每个渲染 channel 都需要从头开始执行绑定(bind)?

最佳答案

因为这就是苹果的设计方式。纹理表(一张用于顶点着色器,一张用于片段着色器)是渲染命令编码器的一部分。您为每个渲染 channel 创建一个新的渲染命令编码器。因此,您必须根据需要重新分配纹理表条目。这真的有这么大的事吗?

关于swift - 为什么我不能在 Metal 中绑定(bind)一次 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41334347/

相关文章:

arrays - Metal 中的数组结构

json - 如何从 nsdictionary swift 获取数组

ios - 与两个透明纹理的 Alpha 混合无法正常工作

ios - UIPopoverPresentationController 显示为全窗口弹出

ios - Swift 中 Optional 的技术定义是什么?

iOS 8.3 - Metal,在展开可选值时发现 nil

ios - 您可以将数组类型传递给用 Metal 编写的 CIFilter 内核吗?

ios - 优化片段着色器

php - 验证 App Store 收据时出现无效的 Drm 参数异常

ios - Swift 中的 PUT 请求 header