最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ù)組對象的封裝的評論 (共 條)

分享到微博請遵守國家法律
滨州市| 大理市| 湘阴县| 辰溪县| 曲阜市| 夏津县| 塔河县| 延川县| 新竹县| 婺源县| 金溪县| 银川市| 汕头市| 天全县| 绩溪县| 抚州市| 西吉县| 伊春市| 阳谷县| 武陟县| 大城县| 寿光市| 吉林市| 兴国县| 巴中市| 离岛区| 云阳县| 天门市| 区。| 成武县| 晴隆县| 扶绥县| 镇坪县| 拜城县| 乌鲁木齐县| 通化市| 威宁| 东山县| 韩城市| 桐城市| 油尖旺区|