OpenGL顶点阵列对象
OpenGL頂點陣列對象
- OpenGL頂點陣列對象簡介
- 源代碼剖析
- 主要源代碼
OpenGL頂點陣列對象簡介
第 32 課 - 頂點陣列對象
頂點陣列對象 (或 VAO) 是一種特殊類型的對象,用于封裝與頂點處理器相關(guān)的所有數(shù)據(jù)。它們不存儲當(dāng)前數(shù)據(jù),而是包含對頂點緩沖區(qū)、索引緩沖區(qū)和頂點本身圖層的引用。優(yōu)點是,通過將 VAO 配置為干擾,只需綁定 VAO,就可以導(dǎo)致干擾的內(nèi)部狀態(tài)。之后,您將能夠渲染干擾對象,而不必?fù)?dān)心其所有狀態(tài)。VAO 會為您記住它們。如果您的應(yīng)用需要處理頂點圖層略有不同的雜項,VAO 也會處理這些混雜。只需確保在創(chuàng)建 VAO 時正確配置了圖層,并且可以忘記它們。它們現(xiàn)在"粘"在 VAO 上,并在使用 VAO 時激活。
如果使用得當(dāng),VAOs 可以提供優(yōu)化 GPU 驅(qū)動程序的選項。如果 VAO 已安裝并多次使用,則驅(qū)動程序可以通過了解索引緩沖區(qū)和頂點緩沖區(qū)之間的顯示以及緩沖區(qū)中的頂點圖層來獲得好處。顯然,這取決于您使用的特定驅(qū)動程序,這并不能保證所有驅(qū)動程序的行為都類似。無論哪種方式,最好記住,這是值得設(shè)置VAO一次,然后一遍又一遍地使用它。
在本課中,我們將更新網(wǎng)格類,并基于 VAO 進行創(chuàng)建。此外,我們還在緩沖區(qū)中組織頂點數(shù)據(jù),就像在一種稱為SOA(陣列結(jié)構(gòu))的方法中所做的那樣。到目前為止,我們的頂點被表示為屬性結(jié)構(gòu)(位置等),
總結(jié)
以上是生活随笔為你收集整理的OpenGL顶点阵列对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么进入设置u盘启动项 设置U盘启动项方
- 下一篇: OpenGL 重复渲染