Vulkan 應用開發指南 (Vulkan Programming Guide: The Official Guide to Learning Vulkan)
[美]格拉漢姆·塞勒斯(Graham Sellers) 約翰·克賽尼希(John Kessenich)
- 出版商: 人民郵電
- 出版日期: 2019-06-01
- 定價: $534
- 售價: 8.5 折 $454
- 語言: 簡體中文
- ISBN: 7115506809
- ISBN-13: 9787115506801
-
相關分類:
Vulkan
- 此書翻譯自: Vulkan Programming Guide: The Official Guide to Learning Vulkan (Paperback)
已絕版
買這商品的人也買了...
-
$1,200$948 -
$580$458 -
$580$493 -
$403C++11/14 高級編程 : Boost 程序庫探秘, 3/e
-
$948$901 -
$650$507 -
$709OpenGL 編程指南, 9/e (OpenGL Programming Guide:the Official Guide to Learning OpenGl Version 4.5 with SPIR-V, 9/e)
-
$403Go Web 編程 (Go Web Programming)
-
$2,200$2,090 -
$3,848Real-Time Rendering, 4/e (Hardcover)
-
$780$702 -
$1,925$1,829 -
$2,200$2,090 -
$594$564 -
$2,200$2,090 -
$5,660$5,377 -
$650$514 -
$755DirectX 12 3D 游戲開發實戰 (Introduction to 3D Game Programming with DirectX 12)
-
$301scikit-learn 機器學習, 2/e (Mastering Machine Learning with scikit-learn, 2/e)
-
$653Jenkins 2 權威指南 (Jenkins 2: Up and Running: Evolve Your Deployment Pipeline for Next Generation Automation)
-
$709Vulkan 開發實戰詳解
-
$880$695 -
$505Vulkan 學習指南
-
$654$621 -
$1,015Vulkan 實戰
相關主題
商品描述
本書系統地介紹下一代OpenGL規範Vulkan,揭示了Vulkan的獨特性。本書主要內容包括:內存和資源、隊列和命令、數據的移動、圖像的展示、著色器和管線、圖形管線對象、繪制命令、幾何體的處理、片段的處理、同步、數據的回讀以及多渲染通道等。
本書適合圖形程序開發人員、熟悉圖形和計算API的程序員閱讀,也可供對Vulkan感興趣的專業人士閱讀。
作者簡介
作者:[美]格拉漢姆·塞勒斯(Graham Sellers)約翰·克賽尼希(John Kessenich)譯者:李曉波等
格拉漢姆·塞勒斯(Graham Sellers),AMD軟件架構師和研究員,負責AMD的Radeon和Fire系列產品的OpenGL與Vulkan驅動程序的開發,在OpenGL ARB中代表AMD為核心OpenGL規範和擴展做出了大量貢獻,擁有多項圖形和圖像處理專利。
約翰·克賽尼希(John Kessenich),Vulkan方面的語言專家,LunarG公司架構師,自1999年以來積極參與開發OpenGL ARB與Khronos中的OpenGL、GLSL、Vulkan和SPIR-V。他創建了SPIR-V,還創建了著色器編譯器用於提高可移植性。
目錄大綱
第1章Vulkan概述1
1.1引言1
1.2實例、設備和隊列2
1.2.1 Vulkan實例3
1.2.2 Vulkan物理設備5
1.2.3物理設備內存8
1.2.4設備隊列9
1.2.5創建邏輯設備11
1.3對像類型和函數約定14
1.4管理內存14
1.5 Vulkan裡的多線程15
1.6數學概念16
1.6.1向量和矩陣16
1.6.2坐標系17
1.7增強Vulkan 17
1.7.1層17
1.7.2擴展20
1.8徹底地關閉應用程序23
1.9總結24
第2章內存和資源25
2.1主機內存管理25
2.2資源30
2.2.1緩衝區31
2.2.2格式和支持33
2.2.3圖像36
2.2.4資源視圖46
2.2. 5銷毀資源52
2.3設備內存管理53
2.3.1分配設備內存54
2.3.2 CPU訪問設備內存56
2.3.3綁定內存到資源上59
2.3.4稀疏資源62
2.4總結68
第3章隊列和命令69
3.1設備隊列69
3.2創建命令緩衝區71
3.3記錄命令73
3.4回收利用命令緩衝區76
3.5命令的提交77
3.6總結79
第4章移動數據80
4.1管理資源狀態81
4.1.1管線屏障81
4.1.2全局內存屏障83
4.1.3緩衝區內存屏障86
4.1.4圖像內存屏障87
4.2清除和填充緩衝區89
4.3清空和填充圖像90
4.4複製圖像數據92
4.5複製壓縮圖像數據96
4.6拉伸圖像97
4.7總結98
第5章展示99
5.1展示擴展99
5.2展示表面100
5.2.1在微軟的Windows上展示100
5.2 .2在基於Xlib的平台上展示101
5.2.3在Xcb上展示102
5.3交換鏈103
5.4全屏表面110
5.5執行展示115
5.6清除117
5.7總結118
第6章著色器和管線119
6.1 GLSL概述120
6.2 SPIR-V概述122
6.2.1如何表示SPIR-V 122
6.2.2把SPIR-V傳遞給Vulkan 125
6.3管線126
6.3.1計算管線126
6.3.2創建管線127
6.3.3特化常量128
6.3.4加速管線的創建131
6.3.5綁定管線134
6.4執行工作135
6.5在著色器中訪問資源136
6.5.1描述符集136
6.5.2綁定資源到描述符集145
6.5.3綁定描述符集150
6.5.4 uniform、紋素和存儲
緩衝區151
6.5.5推送常量154
6.5.6採樣圖像157
6.6總結162
第7章圖形管線163
7.1邏輯圖形管線163
7.2渲染通道166
7.3幀緩衝區172
7.4創建一個簡單的圖形管線174
7.4.1圖形著色器階段175
7.4.2頂點輸入狀態179
7.4.3輸入組裝183
7.4.4細分狀態186
7.4.5視口狀態187
7.4.6光柵化狀態188
7.4.7多重採樣狀態190
7.4.8深度和模板狀態190
7.4.9顏色混合狀態191
7.5動態狀態193
7.6總結195
第8章繪製196
8.1準備繪製197
8.2頂點數據199
8.3索引繪製200
8.3.1只用索引的繪製204
8.3.2重置索引205
8.4實例化206
8.5間接繪製208
8.6總結211
第9章幾何體處理212
9.1表面細分212
9.1. 1表面細分配置213
9.1.2表面細分相關變量218
9.1.3表面細分示例:置換貼圖225
9.2幾何著色器229
9.2.1圖元裁剪235
9.2.2幾何著色器實例化236
9.3可編程頂點尺寸237
9.4線的寬度以及光柵化239
9.5用戶裁剪和剔除241
9.6視口變換247
9.7總結250
第10章片段處理251
10.1裁剪測試251
10.2深度和模板測試253
10.2.1深度測試254
10.2.2模板測試258
10.2.3早期片段測試259
10.3多重採樣渲染260
10.3.1採樣率著色262
10.3.2多重採樣解析263
10.4邏輯操作264
10.5片段著色器輸出266
10.6顏色混合269
10.7總結271
第11章同步272
11.1柵欄273
11.2事件279
11.3信號量282
11.4總結285
第12章回讀數據286
12.1查詢286
12.1.1執行查詢288
12.1.2計時查詢293
12.2通過主機讀取數據294
12.3總結295
第13章多通道渲染296
13.1輸入附件297
13.2附件內容303
13.2.1附件的初始化303
13.2.2渲染區域305
13.2.3保存附件內容306
13.3副命令緩衝區313
13.4總結315
附錄A Vulkan函數316
詞彙表318