【一起学Metal】01-Metal初体验


一、Metal 简介

2.1 概念

Metal 是一个兼顾图形与计算功能的,面向底层、低开销的硬件加速应用程序接口(API),其类似于将 OpenGL 与 OpenCL 的功能集成到了同一个API上,最初支持它的系统是 iOS 8。Metal 使得 iOS 可以实现其他平台的类似功能,例如 Khronos Group 的跨平台 Vulkan 与 Microsoft Windows 上的 Direct3D 12。

2.2 历史

2014年6月2日,Metal 开始支持iOS设备(仅支持Apple A7或更新款处理器的iPhone、iPad);2015年6月8日,Metal 开始支持运行 OS X El Capitan 的Mac设备(仅2012年中或更新款机种)。

2017年6月5日,Apple于WWDC宣布了Metal的第二个版本,支持macOS High Sierra、iOS 11和tvOS 11。由于受相同硬件支持,Metal 2并不是Metal的独立API。 Metal 2在Xcode中实现了更高效的分析和调试,加速了机器学习、降低了CPU工作负载、支持macOS上的虚拟现实以及Apple A11处理器的特性。

在2020年WWDC 上,苹果宣布了Mac 移至 Apple Silicon计划。使用Apple 芯片的Mac电脑将突出Apple GPU的特征,这些曾在macOS 和iOS 上的体现过,也将能受益于Apple GPU的 贴图延迟渲染(TBDR)架构的特征。

2.3 支持的CPU

在iOS,tvOS,macOS中,Metal 支持苹果设计的A7以后的单片系统。

在macOS 中,metal也支持从HD4000 以后的 Intel 高清集成显示系统,也支持AMD GCM和 RDNA的GPU系列。

NVIDIA CPU 也受支持,但支持新设备(10系列起的新设备)的Metal 驱动程序从macOS 起已失效。

使用Metal的多人在线战斗竞技场游戏《虚荣》,运行于iPhone 6

By Super Evil Megacorp, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=37251144

二、Metal 案例1:渐变背景

2.1 效果一览

2.2 实现思路

2.3 代码分析

三、Metal 案例2:绘制一个三角形

四、比较Metal 与OpenGL

五、小结


文章作者: 李佳
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 李佳 !
评论
 上一篇
【数据结构与算法】-(10)线索化二叉树 【数据结构与算法】-(10)线索化二叉树
【数据结构与算法】-(1)基础篇 【数据结构与算法】-(2)线性表基础 【数据结构与算法】-(3)循环链表(单向) 【数据结构与算法】-(4)双向链表和双向循环链表 【数据结构与算法】-(5)链表面试题解析 【数据结构与算法】-(6)栈
2021-01-17 李佳
下一篇 
计算机视觉【03-OpenGL正背面剔除】 计算机视觉【03-OpenGL正背面剔除】
一、概念1.1隐藏面消除绘制3D场景式,尤其是在透视投影时,需要决定目标的哪一部分展示,哪一部分隐藏。如下图所示,如果不做隐藏面消除的配置,在3D目标旋转时,会出现透视bug,有些不该出现的出现了。 1.2深度测试二、实现深度测试2.1
2020-07-24 李佳
  目录