国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

緩沖對象和頂點數(shù)組對象的封裝

2023-08-05 19:07 作者:追逐彗星的尾巴  | 我要投稿

這節(jié)我們要實現(xiàn)VBO、EBOVAO的封裝。

首先我們把VBO抽象成一個類VertexBuffer。我們將借助類的構(gòu)造函數(shù)和析構(gòu)函數(shù)來自動實現(xiàn)一些基本的操作。

我們在構(gòu)造函數(shù)中實現(xiàn)VBO對象的創(chuàng)建和綁定:

vertices是頂點數(shù)組,count是數(shù)組中元素的個數(shù)

析構(gòu)函數(shù)實現(xiàn)VBO對象的刪除:

此外還要有手動實現(xiàn)綁定和解綁功能的函數(shù):

EBO的封裝和VBO完全一樣,就不贅述了。

VAO的封裝就比較復雜,因為這里涉及到頂點屬性的配置。

首先我們需要創(chuàng)建一個類表示頂點數(shù)據(jù),這個類中包含頂點和頂點的步長。而一個頂點又是由一系列頂點屬性構(gòu)成,因此我們還需要定義一個結(jié)構(gòu)表示頂點屬性:

這里使用模板特化為頂點添加頂點屬性。

有了頂點數(shù)據(jù),下一步就可以實現(xiàn)頂點數(shù)組的封裝。

這里和VBO的封裝大同小異。

唯一的區(qū)別就是多了一個函數(shù),AddAttribs()用于配置頂點屬性。

首先調(diào)用VBO的BInd函數(shù),是為了確保在有多個頂點緩沖對象的情況下,配置頂點屬性時綁定了正確的VBO對象。接著獲取頂點,并用一個循環(huán)取出頂點中的每一個屬性,并進行配置。這里的offset用于計算每個頂點屬性的偏移量。

當我們完成VAO、VBO和EBO對象的封裝后,代碼將變得十分簡潔:


緩沖對象和頂點數(shù)組對象的封裝的評論 (共 條)

分享到微博請遵守國家法律
大石桥市| 静安区| 彭山县| 焉耆| 普洱| 广南县| 东宁县| 永德县| 罗定市| 驻马店市| 盐源县| 靖宇县| 光泽县| 甘谷县| 奉化市| 明水县| 托里县| 清流县| 柯坪县| 汝南县| 牡丹江市| 金乡县| 兴义市| 浏阳市| 万荣县| 山丹县| 冷水江市| 和龙市| 安化县| 博客| 监利县| 庆云县| 云和县| 郸城县| 洛川县| 惠来县| 武宁县| 当阳市| 泗洪县| 忻州市| 贵定县|