ios – 可以使用Metal API与OpenGL ES 3.0同时进行计算吗?

我想要使​​用Metal作为计算API移植一些OpenCL示例(因为iOS不支持ES 3.1计算着色器)和OpenGL ES作为图形API,因为示例使用OCL / OGL互操作似乎是最简单的移植方式.

问题是应用程序可以同时使用Metal和OpenGL ES API以及是否以及如何实现互操作,即OpenGL映射由Metal计算的数据缓冲对象.

谢谢.. 最佳答案 是的,您可以同时使用openGL和Metal API,但请记住,两层之间的任何相互通信都会导致主机/ GPU内存流量的开销:您必须在Metal / OpenGL表示之间复制纹理和缓冲区.我认为使用gpu的最佳方法是使用这些技术堆栈中的一种.此外,使用opengl着色器可以使用金属内核完成所有操作.一般来说,正如我可以用Metal测试一年后,它比OpenGL更舒适方便.加入金属,加入我们:)

点赞