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