关于Metal编程指南
Metal框架支持GPU加速的高级3D图形渲染和数据并行计算工作负载。Metal提供了一个现代化和流线型的API,用于对图形和计算命令的组织,处理和提交进行细粒度,低级别的控制,以及管理这些命令的相关数据和资源。Metal的主要目标是最小化执行GPU工作负载所产生的CPU开销。
前言
本文档描述了Metal的基本概念:命令提交模型,内存管理模型,以及独立编译的代码用于图形着色器和数据并行计算功能。该文档然后详细介绍如何使用Metal API编写应用程序。
以下章节可以找到更多细节:
- Metal概念简要介绍了Metal的主要特点。
- 命令组织和执行模型说明如何创建和提交命令到GPU执行。
- 资源对象:缓冲区和纹理讨论了设备内存的管理,包括表示GPU内存分配的缓冲区和纹理对象。
- 功能和库描述了Metal着色语言代码如何在Metal应用程序中显示,以及Metal着色语言代码如何加载到GPU并由GPU执行。
- 图形渲染:渲染命令编码器描述如何渲染3D图形,包括如何在多个线程之间分配图形操作。
- 数据并行计算处理:Compute Command Encoder解释了如何执行数据并行处理。
- 缓冲区和纹理操作:Blit Command Encoder描述如何在纹理和缓冲区之间复制数据。
- Metal工具列出了可用于帮助您自定义和改进开发工作流的工具。
- Metal功能集表列出了每个Metal功能集的功能可用性,实施限制和像素格式功能。
- OS 9和OS X 10.11中的新功能总结了iOS 9和OS X 10.11中引入的新功能。
- iOS 10,tvOS 10和OS X 10.12中的新功能总结了iOS 10,tvOS 10和OS X 10.12中引入的新功能。
- Tessellation描述了用于细分补丁的Metal镶嵌管道,包括使用计算内核,镶嵌器和后镶嵌顶点函数。
- 资源堆描述了如何从堆中分配资源,它们之间的别名,并用栅栏跟踪它们。
学习这个的所需条件
您应该熟悉Objective-C语言,并熟练使用OpenGL,OpenCL或类似的API进行编程。
你也可以查阅下面的资料
该Metal框架参考是文档的集合,描述了Metal框架的接口。
所述Metal着色语言规范是一个文档,指定该Metal着色语言,这是用来写图形着色器或用于通过Metal应用程式compute函数。
此外,Apple开发人员库中还提供了使用Metal的几个示例代码项目。
网友评论