版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2018.11.04 星期日 |
前言
很多做視頻和圖像的,相信對這個框架都不是很陌生,它渲染高級3D圖形,并使用GPU執(zhí)行數(shù)據(jù)并行計算。接下來的幾篇我們就詳細的解析這個框架。感興趣的看下面幾篇文章。
1. Metal框架詳細解析(一)—— 基本概覽
2. Metal框架詳細解析(二) —— 器件和命令(一)
3. Metal框架詳細解析(三) —— 渲染簡單的2D三角形(一)
4. Metal框架詳細解析(四) —— 關(guān)于GPU Family 4(一)
5. Metal框架詳細解析(五) —— 關(guān)于GPU Family 4之關(guān)于Imageblocks(二)
6. Metal框架詳細解析(六) —— 關(guān)于GPU Family 4之關(guān)于Tile Shading(三)
7. Metal框架詳細解析(七) —— 關(guān)于GPU Family 4之關(guān)于光柵順序組(四)
8. Metal框架詳細解析(八) —— 關(guān)于GPU Family 4之關(guān)于增強的MSAA和Imageblock采樣覆蓋控制(五)
9. Metal框架詳細解析(九) —— 關(guān)于GPU Family 4之關(guān)于線程組共享(六)
10. Metal框架詳細解析(十) —— 基本組件(一)
11. Metal框架詳細解析(十一) —— 基本組件之器件選擇 - 圖形渲染的器件選擇(二)
12. Metal框架詳細解析(十二) —— 基本組件之器件選擇 - 計算處理的設(shè)備選擇(三)
13. Metal框架詳細解析(十三) —— 計算處理(一)
14. Metal框架詳細解析(十四) —— 計算處理之你好,計算(二)
15. Metal框架詳細解析(十五) —— 計算處理之關(guān)于線程和線程組(三)
16. Metal框架詳細解析(十六) —— 計算處理之計算線程組和網(wǎng)格大小(四)
17. Metal框架詳細解析(十七) —— 工具、分析和調(diào)試(一)
18. Metal框架詳細解析(十八) —— 工具、分析和調(diào)試之Metal GPU Capture(二)
19. Metal框架詳細解析(十九) —— 工具、分析和調(diào)試之GPU活動監(jiān)視器(三)
20. Metal框架詳細解析(二十) —— 工具、分析和調(diào)試之關(guān)于Metal著色語言文件名擴展名、使用Metal的命令行工具構(gòu)建庫和標記Metal對象和命令(四)
21. Metal框架詳細解析(二十一) —— 基本課程之基本緩沖區(qū)(一)
22. Metal框架詳細解析(二十二) —— 基本課程之基本紋理(二)
23. Metal框架詳細解析(二十三) —— 基本課程之CPU和GPU同步(三)
24. Metal框架詳細解析(二十四) —— 基本課程之參數(shù)緩沖 - 基本參數(shù)緩沖(四)
25. Metal框架詳細解析(二十五) —— 基本課程之參數(shù)緩沖 - 帶有數(shù)組和資源堆的參數(shù)緩沖區(qū)(五)
26. Metal框架詳細解析(二十六) —— 基本課程之參數(shù)緩沖 - 具有GPU編碼的參數(shù)緩沖區(qū)(六)
27. Metal框架詳細解析(二十七) —— 高級技術(shù)之圖層選擇的反射(一)
28. Metal框架詳細解析(二十八) —— 高級技術(shù)之使用專用函數(shù)的LOD(一)
29. Metal框架詳細解析(二十九) —— 高級技術(shù)之具有參數(shù)緩沖區(qū)的動態(tài)地形(一)
30. Metal框架詳細解析(三十) —— 延遲照明(一)
31. Metal框架詳細解析(三十一) —— 在視圖中混合Metal和OpenGL渲染(一)
32. Metal框架詳細解析(三十二) —— Metal渲染管道教程(一)
33. Metal框架詳細解析(三十三) —— Metal渲染管道教程(二)
34. Metal框架詳細解析(三十四) —— Hello Metal! 一個簡單的三角形的實現(xiàn)(一)
35. Metal框架詳細解析(三十五) —— Hello Metal! 一個簡單的三角形的實現(xiàn)(二)
About Metal and This Guide - 關(guān)于Metal和這個指南
注意:這個指南相對比較老,但是里面很多東西還是有借鑒意義了,大家感興趣的可以參考下。
Metal框架支持GPU加速的高級3D圖形渲染和數(shù)據(jù)并行計算工作負載。 Metal提供了一個現(xiàn)代化的簡化API,用于組織,處理和提交圖形和計算命令的細粒度,低級控制,以及這些命令的相關(guān)數(shù)據(jù)和資源的管理。 Metal的主要目標是最小化執(zhí)行GPU工作負載所帶來的CPU開銷。
At a Glance - 概覽
本文檔描述了Metal的基本概念:命令提交模型,內(nèi)存管理模型,以及獨立編譯的代碼用于圖形著色器和數(shù)據(jù)并行計算函數(shù)的使用。然后,該文檔詳細說明了如何使用Metal API編寫應(yīng)用程序。
您可以在以下章節(jié)中找到更多詳細信息:
- Fundamental Metal Concepts簡要介紹了Metal的主要特征。
- Command Organization and Execution Model解釋了如何創(chuàng)建命令并將其提交給GPU以執(zhí)行。
- Resource Objects: Buffers and Textures討論設(shè)備內(nèi)存的管理,包括表示GPU內(nèi)存分配的緩沖區(qū)和紋理對象。
- Functions and Libraries描述了如何在Metal應(yīng)用程序中表示Metal著色語言代碼,以及如何將Metal著色語言代碼加載到GPU并執(zhí)行。
- Graphics Rendering: Render Command Encoder描述了如何渲染3D圖形,包括如何跨多個線程分布圖形操作。
- Data-Parallel Compute Processing: Compute Command Encoder解釋了如何執(zhí)行數(shù)據(jù)并行處理。
- Buffer and Texture Operations: Blit Command Encoder描述了如何在紋理和緩沖區(qū)之間復(fù)制數(shù)據(jù)。
- Metal Tools列出了可用于幫助您自定義和改進開發(fā)工作流程的工具。
- Metal Feature Set Tables列出了每個Metal功能集的功能可用性,實現(xiàn)限制和像素格式功能。
- What's New in iOS 9 and OS X 10.11總結(jié)了iOS 9和OS X 10.11中引入的新功能。
- What’s New in iOS 10, tvOS 10, and OS X 10.12總結(jié)了iOS 10,tvOS 10和OS X 10.12中引入的新功能。
- Tessellation描述了用于細分補丁的Metal細分管道,包括使用計算內(nèi)核,曲面細分和后細分頂點函數(shù)。
- Resource Heaps描述了如何從堆中分配資源,在它們之間使用別名,并使用圍柵跟蹤它們。
Prerequisites - 先決條件
您應(yīng)該熟悉Objective-C
語言,并且熟悉使用OpenGL
,OpenCL
或類似API進行編程。
See Also - 同可參考
- Metal Framework Reference是一組文檔,描述了Metal框架中的接口。
- Metal Shading Language Specification是一個文檔,它指定Metal著色語言,用于編寫Metal應(yīng)用程序使用的圖形著色器或計算函數(shù)。
- 此外,
Apple Developer Library
中提供了幾個使用Metal的示例代碼項目。
后記
本篇主要講述了Metal編程指南之概覽,感興趣的給個贊或者關(guān)注~~~