使用Open Graphics Library?(OpenGL?)計算機圖形庫進行計算機編程時,頂點緩沖對象(VBO)是一種數據結構,它允許構造三維(3D)對象并將其存儲在顯卡或圖形硬件的內存中。這使得OpenGL?VBO能夠非常快速地呈現,并且比使用立即模...
使用Open Graphics Library?(OpenGL?)計算機圖形庫進行計算機編程時,頂點緩沖對象(VBO)是一種數據結構,它允許構造三維(3D)對象并將其存儲在顯卡或圖形硬件的內存中。這使得OpenGL?VBO能夠非常快速地呈現,并且比使用立即模式繪圖的其他技術使用的系統資源少得多。此外速度的提高和圖形開銷的減少,OpenGL?VBO也是一種動態數據結構,與OpenGL?顯示列表不同,它在內存中可以更改。OpenGL?VBO的概念實際上始于硬件制造商,他們最初以不同的名稱包含了一種類似的功能,作為后來OpenGL庫的擴展OpenGL?VBO是由OpenGL?Architecture Review Board(ARB)標準化的。OpenGL?VBO存儲在渲染器的服務器端,不需要經常訪問客戶端獲取頂點信息。OpenGL?VBO基本上是其他兩種OpenGL?數據結構的組合。它包含頂點數組,因為幾何體的信息(包括頂點坐標、法線和顏色)都可以存儲在一個結構化數組中,該數組可以傳遞給OpenGL?進行處理。但是,與頂點數組不同的是,OpenGL?VBO存儲在渲染器的服務器端,不需要經常訪問客戶端用于顯示頂點信息的邊。OpenGL頂點緩沖區用于創建頂點緩沖區對象(VBO),允許三維(3D)場景中的對象作為顯示列表的一部分而不是立即模式進行渲染。通過允許VBO存儲在圖形內存中,它還具有顯示列表的某些屬性主要區別在于OpenGL®;VBO可以修改,而顯示列表不能修改此外,VBO不必像顯示列表那樣復制到圖形內存中,因此內存中只需要存在一個數據結構。當OpenGL VBO最終呈現時,與存儲它的圖形內存和圖形處理單元(GPU)之間的距離非常小,然而,在不使用VBO的硬件的情況下,使用VBO并不需要很快的速度來解決圖形卡的問題,或與某些圖形卡不兼容的程序。有一些方法可以幫助優化使用OpenGL?VBO時的處理方式。其中之一是向圖形卡或OpenGL?提供提示,以幫助確定VBO應位于內存中的位置。根據提供的提示,可以存儲VBO直接存儲在圖形卡上的圖形內存中,或者在必要時存儲在系統的主隨機存取存儲器(RAM)中
-
發表于 2020-08-07 22:19
- 閱讀 ( 878 )
- 分類:電腦網絡