91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

opengl vbo使用技巧

發布時間:2020-08-06 15:32:54 來源:網絡 閱讀:1083 作者:WZM3558862 欄目:開發技術

OpenGL VBO(vertex buffer Objecte)

 

OpenGL VBO并不難,但是較繁瑣,其實其概念跟加載紋理是一樣的:

初始化階段:
1. glGenBuffersARB(1, &nVBOVertices); //生成一個句柄
2. glBindBufferARB(GL_ARRAY_BUFFER_ARB, nVBOVertices); //聲明該句柄為一個vbo句柄,并選擇之
3. glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(vertices), vertices,GL_STATIC_DRAW); //將頂點集上傳至server端

使用階段:
1. glEnableClientState(GL_VERTEX_ARRAY); //開始使用vbo
2. glBindBufferARB(GL_ARRAY_BUFFER_ARB, nVBOVertices);  //選擇當前使用的vbo
3. glVertexPointer(3, GL_FLOAT, 0, BUFFER_OFFSET(0));  //指定vbo頂點格式
4. glDrawArrays( GL_TRIANGLES, 0, g_pMesh->m_nVertexCount ); //畫吧
5. glDisableClientState(GL_VERTEX_ARRAY); //停止使用vbo

收尾階段:
1. glDeleteBuffersARB(1,&nVBOVertices); //刪除句柄,同時刪除server端頂點緩沖

再來看看紋理緩沖是怎么使用的,其實差不多:

初始化階段:
1. glGenTextures(1, &texID);//創建句柄
2. glBindTexture(GL_TEXTURE_2D, texID); //設置句柄類型
3. glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, img->GetWidth(), img->GetHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE, raw_rgba); //上傳紋理緩沖

使用階段:
1. glEnable(GL_TEXTURE_2D); //開始使用紋理緩沖
2. glBindTexture(GL_TEXTURE_2D, texID); //選擇當前使用的紋理緩沖
3. 發送頂點和紋理坐標,畫吧...省略
4. glDisable(GL_TEXTURE_2D); //停止使用紋理

收尾階段:
1. glDeleteTextures(1,&texID);//刪除句柄,,同時刪除server端緩沖

看到了么,這個概念是不是很相似?都是:

1. 創建句柄
2. 設置句柄類型
3. 上傳數據
4. 開始使用緩沖
5. 選擇句柄
6. 使用緩沖
7. 停止使用緩沖
8. 刪除句柄和緩沖



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

珠海市| 冷水江市| 通山县| 彰武县| 绥芬河市| 土默特左旗| 渭源县| 台江县| 名山县| 全南县| 馆陶县| 临湘市| 扶余县| 新邵县| 清水河县| 龙里县| 洞头县| 武胜县| 土默特右旗| 巴中市| 丽江市| 谢通门县| 沂源县| 绥江县| 文山县| 陕西省| 临泽县| 六枝特区| 岗巴县| 黑水县| 湘阴县| 嵊泗县| 文安县| 乐亭县| 乌鲁木齐市| 清水县| 澄城县| 绥中县| 林芝县| 泰州市| 墨竹工卡县|