資料介紹
Vulkan 基本類型,Vulkan 開(kāi)發(fā)需要設(shè)計(jì)的類型非常多,整理其基本類型如下,主要包含設(shè)備、隊(duì)列、命令緩沖、隊(duì)列家族、渲染通,管線等,具體內(nèi)容如下所示:
Vulkan類型 | 功能說(shuō)明 |
---|---|
實(shí)例(VkInstance) | 用于存儲(chǔ)Vulkan程序相關(guān)狀態(tài)的軟件結(jié)構(gòu),可以在邏輯上區(qū)分不同的Vulkan應(yīng)用程序或者同一應(yīng)用程序內(nèi)部不同的Vulkan上下文 |
物理設(shè)備(VkPhysicalDevice) | 對(duì)系統(tǒng)中 GPU 硬件的抽象,每個(gè) GPU 對(duì)應(yīng)一個(gè)物理設(shè)備。另外,每個(gè)實(shí)例下可以有多個(gè)物理設(shè)備 |
設(shè)備(VkDevice) | 基于物理設(shè)備創(chuàng)建的邏輯設(shè)備,本質(zhì)上是存儲(chǔ)信息的軟件結(jié)構(gòu),其中主要保留了與對(duì)應(yīng)物理設(shè)備相關(guān)的資源。每個(gè)物理設(shè)備可以對(duì)應(yīng)多個(gè)邏輯設(shè)備 |
命令池(VkCommandPool) | 服務(wù)高效分配命令緩沖 |
命令緩沖(VkCommandBuffer) | 用于記錄組成繪制或計(jì)算任務(wù)的各個(gè)命令,在命令池中分配。若執(zhí)行的是不變的繪制命令,可以對(duì)記錄了命令的命令緩沖進(jìn)行重用 |
命令緩沖啟動(dòng)信息(VkCommandBufferBeginInfo) | 攜帶了命令緩沖啟動(dòng)時(shí)必要信息的對(duì)象 |
命令緩沖提交信息(VkSubmitInfo) | 攜帶了命令緩沖提交給隊(duì)列執(zhí)行時(shí)必要信息的對(duì)象,包括需要等待的信息量數(shù)量、等待的信號(hào)量列表、命令緩沖數(shù)量、命令緩沖列表、觸發(fā)的信號(hào)量數(shù)量觸發(fā)的信號(hào)量列表等 |
列表家族屬性( VkQueueFamilyProperties) | 攜帶了特定隊(duì)列家族屬性信息的軟件結(jié)構(gòu),包括家族中隊(duì)列的數(shù)量、能力標(biāo)志等。每一個(gè)隊(duì)列家族中可能含有多個(gè)能力相近的隊(duì)列,常用的隊(duì)列家族主要有支持圖形任務(wù)和計(jì)算任務(wù)的兩大類 |
隊(duì)列( VkQueue) | 功能為接收提交的任務(wù),將任務(wù)按序由所屬GPU硬件依次執(zhí)行 |
格式(VkFormat) | 一個(gè)枚舉類型,包含了Vulkan開(kāi)發(fā)中用到的各種內(nèi)存組織形式,如VK_FORMAT_R8G8B8A8_UNORM 就表示支持RGBA四個(gè)色彩通道,每個(gè)通道8個(gè)數(shù)據(jù)比特 |
2D尺寸(VkExtent2D) | 用于記錄2D尺寸的結(jié)構(gòu)體,有width和height兩個(gè)屬性 |
圖像(VkImage) | 設(shè)備內(nèi)存的一種使用模式,這種模式下對(duì)應(yīng)的內(nèi)存用于存儲(chǔ)圖像像素?cái)?shù)據(jù),其中存儲(chǔ)的像素?cái)?shù)據(jù)可能是來(lái)自于紋理圖像也可能是來(lái)自于繪制任務(wù)的結(jié)果等 |
圖像視圖(VkImageView) | 配合圖像對(duì)象使用,其中攜帶了對(duì)應(yīng)圖像的類型、格式、色彩通道交換設(shè)置等方面的信息 |
交換鏈( VkSwapchainKHR) | 將畫(huà)面呈現(xiàn)到特定目標(biāo)平臺(tái)(如windows, Android, Linux等)窗體或者表面的機(jī)制,通過(guò)它可以提供多個(gè)用于呈現(xiàn)的圖像。這些圖像與目標(biāo)平臺(tái)相關(guān),可以看作目標(biāo)平臺(tái)呈現(xiàn)用KHR表面的抽象接口。持續(xù)換幀呈現(xiàn)時(shí)交替使用其中的多個(gè)圖形執(zhí)行,避免用戶看到繪制過(guò)程中的畫(huà)面引起畫(huà)面撕裂。一般情況下,交換鏈中至少有兩個(gè)用于呈現(xiàn)的圖像,有些設(shè)備中數(shù)量會(huì)更多 |
幀緩沖(VkFrameBuffer) | 為繪制服務(wù),其中可以包含顏色附件(用于記錄一幀畫(huà)面中各個(gè)像素的顏色值)、深度附件(用于記錄一幀畫(huà)面中各個(gè)像素的深度值)、模板附件(用于記錄一幀畫(huà)面中各個(gè)像素的模板值)等 |
緩沖( VkBuffer) | 設(shè)備內(nèi)存的一種使用模式,這種模式下對(duì)應(yīng)的內(nèi)存用于存儲(chǔ)各種數(shù)據(jù)。比如:繪制用頂點(diǎn)信息數(shù)據(jù)、繪制用一致變量數(shù)據(jù)等 |
緩沖描述信息( VkDescriptorBufferInfo) | 攜帶了描述緩沖信息的結(jié)構(gòu)體,包含對(duì)應(yīng)緩沖、內(nèi)存偏移量、范圍等 |
渲染通道(VkRenderPass) | 其中包含了一次繪制任務(wù)需要的各方面信息,諸如顏色附件、深度附件情況,子通道列表、子通道相互依賴信息等,用于向驅(qū)動(dòng)描述繪制工作的結(jié)構(gòu)、過(guò)程。一般來(lái)說(shuō),每個(gè)渲染通道從開(kāi)始到結(jié)束將產(chǎn)生一幀完成的畫(huà)面 |
清除內(nèi)容(VkClearValue) | 包含了每次繪制前清除幀緩沖所用數(shù)據(jù)的相關(guān)值,主要有清除用顏色值,深度值、模板值 |
渲染通道啟動(dòng)信息(VkRenderPassBeginInfo) | 攜帶了啟動(dòng)渲染通道時(shí)所需的信息,包括對(duì)應(yīng)的渲染通道、渲染區(qū)域的位置及尺寸、繪制前的清除數(shù)據(jù)值等 |
渲染子通道描述(VkSubpassDescription) | 一個(gè)渲染通道由多個(gè)子通道組成,至少需要一個(gè)子通道。每個(gè)子通道用一個(gè)VkSubpassDescription實(shí)例描述,其中包含了此子通道的輸入附件,顏色附件,深度附件等方面的信息 |
描述集布局(VkDescriptionSetLayout) | 服務(wù)于描述集,給出布局接口。通俗講就是給出著色器中包含了哪些一致變量、分別是什么類型、綁定編號(hào)是什么、對(duì)應(yīng)于哪個(gè)管線階段(比如頂點(diǎn)著色器、片源著色器)等 |
描述集(VkDescriptorSet) | 用于繪制前更新著色器所需的一致變量等 |
寫入描述集( VkWriteDescriptorSet) | 用于繪制前更新著色器所需的一致變量等 |
描述集池( VkDescriptorPool) | 用于高效地分配描述集 |
管線布局( VkPipelineLayout) | 描述管線整體布局,包括哪些推送常量、有哪些描述集等 |
管線( VkPipeline) | 包含了執(zhí)行指定繪制工作對(duì)應(yīng)管線的各方面信息、諸如管線布局、頂點(diǎn)數(shù)據(jù)輸入情況、圖元組裝設(shè)置、光柵化設(shè)置、混合設(shè)置、視口于剪裁設(shè)置、深度及模板測(cè)試設(shè)置、多重采樣設(shè)置等 |
著色器階段創(chuàng)建信息(VkPipelineShaderStageCreateInfo) | 攜帶了單個(gè)著色器階段信息的對(duì)象,包括著色器的SPIR-V模板、著色器主方法名稱、著色器對(duì)應(yīng)階段(比如頂點(diǎn)著色器、片元著色器、幾何著色器、曲面細(xì)分著色器)等 |
頂點(diǎn)輸入綁定描述(VkVertexInputBindingDescription) | 用于描述管線的頂點(diǎn)數(shù)據(jù)輸入情況,包括綁定點(diǎn)編號(hào),數(shù)據(jù)數(shù)據(jù)頻率(比如每頂點(diǎn)一套數(shù)據(jù))、數(shù)據(jù)間隔等 |
頂點(diǎn)輸入屬性描述(VkVertexInputAttributeDescription) | 描述頂點(diǎn)輸入的某項(xiàng)數(shù)據(jù)信息(比如頂點(diǎn)位置、頂點(diǎn)顏色),包括綁定點(diǎn)編號(hào)、位置編號(hào)、數(shù)據(jù)格式、偏移量等 |
管線緩沖(VkPipelineCache) | 為高效地創(chuàng)建管線提供支持 |
格式屬性(VkFormatProperties) | 用于存儲(chǔ)執(zhí)行格式類型(比如 VK_FORMAT_D16_UNORM)的格式屬性,包括線性瓦片特征標(biāo)志、最優(yōu)化瓦片特征標(biāo)志、緩沖特種標(biāo)志等 |
物理設(shè)備內(nèi)存屬性(VkPhysicalDeviceMemoryProperties) | 用于存儲(chǔ)獲取的基于指定GPU的設(shè)備內(nèi)存屬性,包括內(nèi)存類型數(shù)量、內(nèi)存類型列表、內(nèi)存堆數(shù)量、內(nèi)存堆列表等 |
設(shè)備內(nèi)存(VkDeviceMemory) | 設(shè)備內(nèi)存的邏輯抽象,前面提到的緩沖(VuBuffer)、圖形(VkImage)都需要綁定設(shè)備內(nèi)存才能正常工作 |
信號(hào)量(VkSemaphore) | 用于一個(gè)設(shè)備(GPU)內(nèi)部相同或不同隊(duì)列并發(fā)執(zhí)行任務(wù)時(shí)的同步工作,一般與方法VkQueueSubmit配合使用,以確保通過(guò)VkQueueSubmit方法提交的任務(wù)在指定信號(hào)量未觸發(fā)前阻塞直至信號(hào)量觸發(fā)后才執(zhí)行。要特別注意的是,若有多個(gè)提交的任務(wù)同時(shí)等待同一個(gè)信號(hào)量觸發(fā),則此信號(hào)量的觸發(fā)僅僅會(huì)被一個(gè)等待的任務(wù)接收到,其他等待的任務(wù)還將繼續(xù)等待。這里的“同步”指的是并發(fā)執(zhí)行時(shí)解決沖突的一種策略,有興趣的讀者可以進(jìn)一步查閱相關(guān)資料 |
柵欄(VkFence) | 用于主機(jī)和設(shè)備之間的同步,通俗地講就是用于CPU和GPU并發(fā)執(zhí)行任務(wù)時(shí)的同步 |
KHR表面(VkSurfaceKHR) | 此類對(duì)象服務(wù)于幀畫(huà)面的呈現(xiàn) |
KHR表面能力(VkSurfaceCapabilitiesKHR) | 攜帶了用于呈現(xiàn)畫(huà)面的表面相關(guān)呈現(xiàn)能力的信息,比如畫(huà)面尺寸范圍、交換鏈中的圖像數(shù)量、是否支持屏幕交換等 |
呈現(xiàn)信息(VkPresentInfoKHR) | 攜帶了執(zhí)行呈現(xiàn)時(shí)所需的一些信息,包括需要等待的信號(hào)量數(shù)量、信號(hào)量列表、交換鏈的數(shù)量、交換鏈列表、此次呈現(xiàn)的圖像在交換鏈中的索引等 |
來(lái)源:電子創(chuàng)新網(wǎng)
- LabView工具包WebSocket-API主機(jī)下載 68次下載
- 運(yùn)動(dòng)誤差基本類型原因與對(duì)策 0次下載
- 淺析巴倫的功能原理、性能參數(shù)、基本類型 14次下載
- 藍(lán)橋杯之單片機(jī)設(shè)計(jì)與開(kāi)發(fā)(11)——單片機(jī)C語(yǔ)言小結(jié)
- DCDC環(huán)路補(bǔ)償小結(jié)
- ADC基本類型的工作原理與性能特點(diǎn)
- 演示版:NanEye_EvalSW_API_FiberOpticBox_csharp_pWin_v2-3-3-1.exe 0次下載
- 演示版:NanEye2D_EvalSW_API_NanoUSB2_cpackage_pWin_v1-1-3-1.exe 0次下載
- 微信小程序如何開(kāi)發(fā)?微信小程序教程視頻常用組件API開(kāi)發(fā)項(xiàng)目實(shí)戰(zhàn) 88次下載
- PF光伏小結(jié) 0次下載
- 分析儀表資料小結(jié) 10次下載
- dsp的fir小結(jié) 14次下載
- cadence15.2PCB封裝設(shè)計(jì)小結(jié) 0次下載
- H22Ⅲ壓縮機(jī)修復(fù)改造小結(jié)
- 漆包線耐溶劑性能試驗(yàn)小結(jié)
- 反饋放大器的基本類型和拓?fù)浣M態(tài) 511次閱讀
- Kubernetes Gateway API攻略教程 678次閱讀
- 濾波器的四種基本類型 2978次閱讀
- 企業(yè)怎么選擇API網(wǎng)關(guān) 552次閱讀
- Katalon:API測(cè)試 840次閱讀
- 關(guān)于API接口相關(guān)知識(shí) API的權(quán)限與安全問(wèn)題 1591次閱讀
- 什么是API,不同場(chǎng)景中的API 2014次閱讀
- Vulkan API的一般使用模式及使用需要的基本元素說(shuō)明 4608次閱讀
- 什么是API網(wǎng)關(guān)為什么需要API網(wǎng)關(guān) 1.2w次閱讀
- mybatis使用經(jīng)驗(yàn)小結(jié) 1973次閱讀
- 如何搭建API程序_框架api接口規(guī)范 1.1w次閱讀
- api接口類型有哪些_API設(shè)計(jì)的基本要求 3.5w次閱讀
- 如何使用API_api接口有什么優(yōu)點(diǎn) 2w次閱讀
- Redis基本類型和底層實(shí)現(xiàn) 4432次閱讀
- 開(kāi)關(guān)電源如何分類? 開(kāi)關(guān)電源有哪些基本類型 1.3w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1491次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費(fèi)
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
- 0.23 MB | 4次下載 | 免費(fèi)
- 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537793次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多