Vulkan圖形系統(tǒng)是什么?
Vulkan是一個(gè)圖形和計(jì)算硬件的API(Application Programming Interface)。這個(gè)API由很多命令組成,它們?cè)试S程序員指定著色器程序,計(jì)算內(nèi)核,對(duì)象和操作 產(chǎn)生高質(zhì)量的圖像,特別是三維對(duì)象的彩色圖像。
程序員的視角看Vulkan
對(duì)程序員來講,Vulkan是一些命令的集合,允許內(nèi)核或者著色器,和shader執(zhí)行的外部 Vulkan aspect控制,使用著色器程序或者著色器和數(shù)據(jù)。通常,數(shù)據(jù)是指二維或者三維幾何物體和紋理圖像,著色器和內(nèi)核控制數(shù)據(jù)的處理,幾何物體的光柵化,光柵化產(chǎn)生的光照和陰影的片段,及最終把幾何對(duì)象渲染到幀緩沖區(qū)。
一個(gè)典型的Vulkan程序以調(diào)用系統(tǒng)函數(shù)打開窗口或者準(zhǔn)備程序繪制顯示的設(shè)備為開始。然后,調(diào)用命令打開隊(duì)列,并向其提交命令緩沖區(qū)。命令緩沖區(qū)包含一系列命令,它們將會(huì)被底層的硬件執(zhí)行。應(yīng)用程序能夠做到:分配設(shè)備內(nèi)存,關(guān)聯(lián)內(nèi)存和資源,從命令緩沖區(qū)中引用這些資源。繪制命令可調(diào)用應(yīng)用程序的著色器程序,然而使用資源里的數(shù)據(jù)并產(chǎn)生圖像。為了展示結(jié)果圖像,一些平臺(tái)相關(guān)的命令需要把結(jié)果圖像轉(zhuǎn)移到顯示設(shè)備或者窗口。
實(shí)現(xiàn)者的角度看Vulkan
對(duì)于實(shí)現(xiàn)者,Vulkan是一系列命令的集合,它允許構(gòu)造命令緩沖區(qū)并提交到設(shè)備。現(xiàn)代化的設(shè)備幾乎對(duì)所有Vulkan操作都加速了,把數(shù)據(jù)和幀緩沖區(qū)存儲(chǔ)在高速內(nèi)存,在專用的GPU上執(zhí)行著色器。實(shí)現(xiàn)者的任務(wù)是在主機(jī)端提供軟件lib,它實(shí)現(xiàn)了Vulkan API,把每一個(gè)Vulkan命令適當(dāng)?shù)?映射到圖形硬件以利用物理設(shè)備的能力。
我們的視角看Vulkan
我們把Vulkan看作擁有繪制操作可調(diào)用的可編程階段和狀態(tài)驅(qū)動(dòng)固定階段的管線。我們期待這個(gè)模型可產(chǎn)生一個(gè)規(guī)范,滿足程序員和Vulkan實(shí)現(xiàn)者的需要。 然而,它并不提供如何實(shí)現(xiàn)的模型。Vulkan實(shí)現(xiàn)必須產(chǎn)生符合這些特定方法產(chǎn)生的結(jié)果,但是,可以執(zhí)行比指定方法更加高效率的計(jì)算方法。
-
API
+關(guān)注
關(guān)注
2文章
1499瀏覽量
61959 -
Vulkan
+關(guān)注
關(guān)注
0文章
28瀏覽量
5714
原文標(biāo)題:從三個(gè)視角講解Vulkan
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論