幫助中心 | 我的帳號 | 關於我們

Vulkan學習指南/華章程序員書庫

  • 作者:(新加坡)帕敏德·辛格|責編:李忠明|譯者:王銳
  • 出版社:機械工業
  • ISBN:9787111647867
  • 出版日期:2020/04/01
  • 裝幀:平裝
  • 頁數:332
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書是一本入門級的Vulkan學習指南,旨在幫助你了解Vulkan的思想、概念以及API標準,並且通過簡單易懂的例子,手把手教你掌握Vulkan核心功能並進行實踐。
    通過閱讀本書,你將深入理解指令緩存的概念,嘗試錄製多種類型的指令並將其提交到隊列處理;詳細了解內存管理的知識,並學習如何使用緩存和圖像資源;概要地了解SPIR-V的概念,然後在渲染通道中使用附件和子通道將繪圖操作定義為獨立的工作單元;創建幀緩存並構建一個實體圖形流水線,基於同步機制來管NGPU和CPU之間的協同;最後,掌握炫酷的圖形API技巧。

作者介紹
(新加坡)帕敏德·辛格|責編:李忠明|譯者:王銳
    帕敏德·辛格  新加坡Blackmagic Design公司的電腦圖形學工程師。在過去的十年裡,他一直致力於網路模擬、幾何建模、導航、自動駕駛、信息娛樂系統、圖像處理及後期製作等領域的圖形學軟體開發。他的研究主要包括泛圖形的GPU編程、通用計算,平台移植以及性能優化技術。

目錄
第1章  開始學習新一代3D圖形API
  1.1  Vulkan及其演化史
  1.2  Vulkan與OpenGL的對比
  1.3  重要術語
  1.4  Vulkan的原理
    1.4.1  Vulkan的執行模型
    1.4.2  Vulkan的隊列
    1.4.3  對象模型
    1.4.4  對象生命周期與指令語法
    1.4.5  錯誤檢查與驗證
  1.5  理解Vulkan應用程序
    1.5.1  驅動
    1.5.2  應用程序
    1.5.3  WSI
    1.5.4  SPIR-V
    1.5.5  LunarG SDK
  1.6  開始學習Vulkan編程模型
    1.6.1  硬體初始化
    1.6.2  窗口展示表面
    1.6.3  資源設置
    1.6.4  流水線設置
  1.7  總結
第2章  你的第一個Vulkan偽代碼程序
  2.1  Vulkan的安裝
  2.2  Hello World偽代碼
    2.2.1  初始化—與設備握手的過程
    2.2.2  交換鏈初始化—查詢WSI擴展
    2.2.3  著色器支持—將著色器編譯到SPIR-V
    2.2.4  構建布局—描述符與流水線布局
    2.2.5  創建渲染通道—定義通道屬性
    2.2.6  幀緩存—將繪製圖像關聯到渲染通道
    2.2.7  產生幾何體—在GPU內存中保存一個頂點
    2.2.8  流水線狀態管理—創建流水線
    2.2.9  執行渲染通道—顯示Hello World!!!
    2.2.10  隊列的提交和同步—發送任務
    2.2.11  使用展示層進行顯示—渲染三角形
  2.3  全部整合到一起
  2.4  總結
第3章  連接硬體設備
  3.1  學習使用LunarG SDK
  3.2  使用CMake設置我們的第一個工程
  3.3  擴展簡介
  3.4  創建一個Vulkan實例
  3.5  理解物理設備和邏輯設備
    3.5.1  物理設備
    3.5.2  邏輯設備
  3.6  理解隊列和隊列族
    3.6.1  查詢隊列族
    3.6.2  創建隊列
  3.7  整合設備和隊列的代碼

  3.8  總結
第4章  調試Vulkan程序
  4.1  初探Vulkan中的調試方法
  4.2  了解LunarG驗證層及其特性
  4.3  在Vulkan程序中實現調試
  4.4  總結
第5章  Vulkan中的指令緩存和內存管理
  5.1  開始使用指令緩存
    5.1.1  顯式同步
    5.1.2  指令緩存中的指令類型
    5.1.3  指令緩存與隊列
  5.2  理解指令池和指令緩存API
    5.2.1  創建指令池
    5.2.2  指令緩存的分配
  5.3  記錄指令緩存
    5.3.1  隊列提交
    5.3.2  隊列等待
  5.4  實現指令緩存的封裝類
    5.4.1  實現指令緩存的分配過程
    5.4.2  記錄指令緩存的分配過程
    5.4.3  提交指令到隊列
  5.5  管理Vulkan內存
    5.5.1  宿主機內存
    5.5.2  設備內存
    5.5.3  分配設備內存
    5.5.4  釋放設備內存
    5.5.5  從宿主機訪問設備內存
    5.5.6  延遲分配內存
  5.6  總結
第6章  圖像資源分配與交換鏈構建
  6.1  什麼是圖像資源
  6.2  了解圖像資源
    6.2.1  創建圖像
    6.2.2  理解圖像的布局
    6.2.3  創建圖像視圖
  6.3  內存分配和圖像資源的綁定
    6.3.1  獲取內存分配的需求條件
    6.3.2  在設備端分配物理內存
    6.3.3  將分配的內存綁定到圖像對象
  6.4  交換鏈簡介
    6.4.1  了解交換鏈實現的工作流
    6.4.2  交換鏈實現類的框圖
    6.4.3  渲染器—窗口管理的自定義類
    6.4.4  VulkanSwapChain—交換鏈的管理類
    6.4.5  使用WSI創建表面並關聯到窗口
    6.4.6  支持畫面展示的圖形隊列
    6.4.7  查詢交換鏈的圖像格式
    6.4.8  創建交換鏈
  6.5  創建一個深度圖
    6.5.1  平鋪簡介

    6.5.2  創建深度緩存圖像對象
    6.5.3  獲取深度圖的內存需求
    6.5.4  判斷內存的類型
    6.5.5  將物理內存分配並綁定到深度圖像
    6.5.6  圖像布局變換
    6.5.7  圖像布局變換與內存屏障
    6.5.8  創建圖像視圖
  6.6  總結程序流程
    6.6.1  初始化
    6.6.2  渲染—顯示輸出窗口
  6.7  總結
第7章  緩存資源、渲染通道、幀緩存以及SPIR-V著色器
  7.1  理解Vulkan的緩存資源類型
    7.1.1  創建緩存資源對象
    7.1.2  創建緩存視圖
  7.2  使用緩存資源創建幾何體
    7.2.1  準備幾何體數據
    7.2.2  創建頂點緩存
    7.2.3  緩存創建概述
    7.2.4  實現一個緩存資源—創建幾何體的頂點緩存
    7.2.5  理解代碼流線
  7.3  理解渲染通道
    7.3.1  附件
    7.3.2  子通道
    7.3.3  渲染通道對應的Vulkan API
    7.3.4  實現渲染通道
  7.4  使用渲染通道來創建幀緩存
  7.5  清除背景顏色
    7.5.1  設置渲染通道實例的背景顏色
    7.5.2  渲染顏色背景
  7.6  在Vulkan中實現著色器
    7.6.1  SPIR-V簡介
    7.6.2  將GLSL著色器編譯為SPIR-V
    7.6.3  實現著色器
  7.7  總結
第8章  流水線和流水線狀態管理
  8.1  開始學習流水線
  8.2  通過PCO緩衝流水線對象
    8.2.1  創建流水線緩衝對象
    8.2.2  合併流水線緩衝
    8.2.3  從流水線緩衝獲取數據
    8.2.4  實現PCO
  8.3  創建圖形流水線
    8.3.1  實現圖形流水線
    8.3.2  銷毀流水線
  8.4  理解計算流水線
  8.5  Vulkan的流水線狀態對象
    8.5.1  動態狀態
    8.5.2  頂點輸入狀態
    8.5.3  輸入裝配狀態

    8.5.4  光柵化
    8.5.5  融混
    8.5.6  視口管理
    8.5.7  深度測試和模板測試
    8.5.8  多重採樣狀態
  8.6  實現流水線
  8.7  總結
第9章  繪製對象
  9.1  概述Vulkan中的繪製過程
  9.2  準備繪製對象
    9.2.1  錄製渲染通道指令
    9.2.2  綁定流水線對象
    9.2.3  設置繪製對象的幾何體信息
    9.2.4  定義動態視口
    9.2.5  裁切
    9.2.6  繪製指令
    9.2.7  可繪製對象的準備過程
  9.3  渲染當前可繪製對象
    9.3.1  獲取交換鏈圖像
    9.3.2  執行繪製的指令緩存對象
    9.3.3  使用展示引擎顯示輸出內容
    9.3.4  實現可繪製對象的渲染
  9.4  渲染索引幾何體
  9.5  理解Vulkan中的同步圖元
    9.5.1  柵欄
    9.5.2  信號量
    9.5.3  事件
  9.6  改變顯示窗口的大小
  9.7  總結
第10章  描述符與推送常數
  10.1  理解描述符的概念
  10.2  如何在Vulkan中實現一致變數
  10.3  推送常數的更新
  10.4  總結
第11章  繪製紋理
  11.1  圖像資源快速回顧
  11.2  紋理繪製的準備工作
  11.4  使用優化平鋪實現圖像資源
  11.5  在圖像和緩存之間複製數據
  11.6  更新描述符集
  11.7  總結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032