iOSQuartzCore框架

CAMetalLayer 浅析

2019-03-30  本文已影响0人  白水灬煮一切

Metal &Layer 设计 Metal框架 (内容太多暂无研究)

在iOS8里,苹果新发布了一个新的接口框架叫做Metal,它是一个支持GPU(Graphics Processing Unit-图形处理器)加速3D绘图的API。

CAMetalLayer 是框架QuartzCore中iOS新增的。是核心动画层使用Metal管理的一个Layer。利用Metal在应用程序的渲染,使用CAMetalLayer作为一个背层由它返回从视图的layerClass类的方法。渲染层的内容,使用nextdrawable方法检索纹理,然后用它作为Metal中的一个渲染目标渲染pipeline。渲染每一帧后,新的内容使用presentdrawable:或presentDrawable:atTime: :方法显示用来渲染命令缓冲区。

Metal和OpenGL ES相似,它也是一个底层API,负责和3D绘图硬件交互。它们之间的不同在于,Metal不是跨平台的。与之相反的,它设计的在苹果硬件上运行得极其高效,与OpenGL ES相比,它提供了更快的速度和更低的开销。

注意:Metal应用不能跑在iOS模拟器上,它们需要一个装载着苹果A7芯片或者更新的芯片的设备。所以要学习这篇教程,需要一台这样的设备(iPhone 5S,iPad Air,iPad mini2,iPad mini3)来完成代码的测试。

CAMetalLayer 是 Apple Core Animation Framework 的内部模块,  它 管理Metal Texture Pool, 并且负责渲染MTL Texture到窗口。 

   CAMetalLayer 的使用 

        device:    需要为其创建 MTLDevice 对象 

        pixelFormat:   MTLTexture的像素格式, 目前支持 MTLPixelFormatBGRA8Unorm 和 MTLPixelFormatBGRA8Unorm_sRGB 两种。

---------------------

作者:volvet

来源:CSDN

原文:https://blog.csdn.net/volvet/article/details/50877679

版权声明:本文为博主原创文章,转载请附上博文链接!

上一篇下一篇

猜你喜欢

热点阅读