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