使用Metal绘制位图

时间:2016-07-29 01:34:54

标签: macos cocoa metal

问题很简单。在Windows上,你有BitBlt()绘制到屏幕上。在OS X上,您通常可以使用OpenGl,但如何使用Apples新的Metal框架将位图绘制到屏幕上?我无法在Apples Metal参考资料中找到任何有价值的东西。 我现在正在使用Core Graphics作为绘图部分,但由于我的位图一直在更新,我觉得我应该转向Metal以减少开销。

1 个答案:

答案 0 :(得分:2)

答案非常简短:首先,您需要使用Metal设置标准渲染管道,如果您对渲染管道一无所知,这需要做一些工作(注意:但这可能是通过渲染带有两个三角形的四边形来避免3D东西简化,只需给出顶点的xy坐标。有很多来自Apple的示例代码显示了如何设置标准渲染管道,最简单的可能是MetalImageProcessing,因此您可以将其剥离(即使使用了过于复杂的计算着色器来绘制,您可以使用它)。 d想要将其替换为标准顶点和片段着色器。)

其次,您需要了解顶点和片段着色器的工作原理以及如何使用它们绘制内容,请参阅shadertoy。

刚刚注意到用户的最后评论,如果你有一个表示图像的字节数组,那么你可以用它制作一个MTLTexture并将其渲染到屏幕上,请参阅上面的Apple示例,但更改计算着色器到标准顶点和片段着色器以获得更快的性能。