一、什么是Metal,它到底是干什么的?
MetalKit官方文档:
Build Metal apps quicker and easier, using far less code. Render graphics in a standard Metal view, load textures from many sources, and work efficiently with models provided by Model I/O.
创建的Metalapp能够更快并且简单,代码量也会更少。在一个标准的MetalView下渲染几何图形。而且加载的资源和工作效率会更高。
在iOS里面,有个专门的Metal File文件进行渲染操作而且是C++编写的,很想openGL。因为直接是和GPU进行交互,所以工作效率会更快。
二、下面是对官方文档的解读。
View Management:MTKView
A specialized view that creates, configures, and displays Metal objects.
一个特殊的视图,用来创建、配置和描绘Metal 对象。
MTKView绘制需要获取一下三个:
- device,也就是GPU
- 命令的队列 ,也就是我们的编辑的代码,因为是直接和GPU打交道,所以需要命令的队列
- Render。渲染
举例:
目标:我们需要画一个红色的三角形。
操作
- 获取GPU。
- 设置顶点的坐标(命令,并且加入队列)。
- 渲染三角形的颜色
大概是这样的一个过程。