4

我想使用 Metal 作为计算 API(因为 iOS 仍然不支持 ES 3.1 计算着色器)和 OpenGL ES 作为图形 API 来移植一些 OpenCL 示例,因为示例使用 OCL/OGL 互操作似乎是最简单的移植方式。问题是应用程序可以同时使用 Metal 和 OpenGL ES API,以及是否以及如何实现互操作,即 OpenGL 映射由 Metal 计算的数据缓冲区对象.. 谢谢..

4

1 回答 1

2

是的,您可以同时使用 openGL 和 Metal API,但请记住,两层之间的任何相互通信都会导致主机/gpu 内存流量的开销:您必须在 Metal/OpenGL 表示之间复制纹理和缓冲区。我认为利用 gpu 的最佳方法是使用这些技术堆栈之一。此外,你可以用 opengl 着色器做的所有事情都可以用金属内核做。总的来说,经过一年的 Metal 实践,我可以判断,它是比 OpenGL 更舒适和方便的 API。享受金属,加入我们:)

于 2016-01-22T21:25:40.193 回答