Vulkan Cookbook 第四章 資源和記憶體

2021-09-02 01:15:41 字數 866 閱讀 9840

在本章中我們將介紹以下內容:

建立緩衝區

為緩衝區分配和繫結記憶體物件

設定緩衝區記憶體屏障

建立緩衝區檢視

建立影象

分配記憶體物件和將其繫結到影象

設定影象記憶體屏障

建立影象檢視

建立2d影象和檢視

使用立方體影象檢視建立分層2d影象

對映、更新和取消對映主機可見記憶體

在緩衝區之間複製資料

將資料從緩衝區複製到影象

將資料從影象複製到緩衝區

使用暫存緩衝區更新裝置本地記憶體繫結的緩衝區

使用暫存緩衝區更新裝置本地記憶體繫結的影象

銷毀影象檢視

摧毀影象

銷毀緩衝區檢視

釋放記憶體物件

銷毀緩衝區

在vlukan中有兩種非常重要的資源型別可以儲存資料--緩衝區和影象。緩衝區代表線形資料陣列。與opengl的紋理類似,影象表示一種(通常)特定於給定硬體(所以我們不知道哪部記憶體結構)的方式組織的

一、二、或三維資料。緩衝區和影象可用於各種目的:在著色器中,我們可以從中讀取或取樣資料,或者將資料儲存在其中。影象可以用作顏色或深度/模版附件(渲染目標),這意味著我們可以渲染它們。緩衝區還可以儲存間接繪製期間使用的頂點屬性、索引或引數。

非常重要的是,在資源建立期間必須指定每個提到的用法(我們可以同時提供其中的許多用法)。當我們改變應用程式中使用給定資源的方式時,還需要通知驅動程式。

與opengl等高階api相反,vulkan中的緩衝區和影象沒有自己的儲存空間。它們要求我們專門建立和繫結適當的記憶體物件。

在本章中,我們將學習如何使用這些資源以及如何為它們分配記憶體並將其繫結到它們。我們還將學習如何將資料從cpu上傳到gpu,以及如何在資源之間複製資料。

Vulkan Cookbook 第三章 譯者總結篇

為了讓vulkan處理我們的命令,必須建立命令緩衝區將命令記錄在命令緩衝區中然後提交給特定佇列。為了得到我們想要的命令緩衝區需要先通過邏輯裝置級函式建立命令池,然後通過命令池分配乙個命令緩衝區,此操作也同樣通過邏輯裝置級函式。為了將命令記錄到命令緩衝區,我們必須保證此命令緩衝區沒有被正在使用。為了進...

閱讀《構建之法》 第8 第9 第10章

第8章 需求分析 問題 8.6 在這一章節中,說的是計畫和估計,我覺得這是程式設計最基礎的問題吧,如果不能很好的估計出程式設計所要寫的時間,就說明對程式設計沒有足夠的了解和認識,但是我在想,如果做乙個工作量很大的軟體,有些可能難以估計出時間的,而且還要整合各個人寫的功能部分,這時該怎麼去顧及呢 第9...

閱讀《構建之法》 第5 5 第6 第7章

第5章 敏捷開發以使用者的需求進化為核心,採用迭代 循序漸進的方法進行軟體開發。在敏捷開發中,軟體專案在構建初期被切分成多個子專案,各個子專案的成果都經過測試,具備可視 可整合和可執行使用的特徵。關於每日立會,雖然書中提到可借用文件和其他輔助手段來進行溝通,但聽說在異地開發模式下很難實現快速構建 快...