日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

glVertexAttribPointer第一个参数理解

發(fā)布時間:2023/12/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 glVertexAttribPointer第一个参数理解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
//VAO[0] glGenVertexArrays(2, vertex_array);glBindVertexArray(vertex_array[0]);//頂點數(shù)據(jù) GLuint vbo_vertex = 0; glGenBuffers(1, &vbo_vertex); assert(vbo_vertex != 0);glBindBuffer(GL_ARRAY_BUFFER, vbo_vertex); glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat)*3*8, vertexs, GL_STATIC_DRAW); //Bind VAO and VBO 索引0一定是頂點 //將頂點數(shù)據(jù)輸入到VAO,用來建立VAO和VBO的數(shù)據(jù)傳遞,上傳數(shù)據(jù)完成之后可以刪除 glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0); glEnableVertexAttribArray(0); //leave out this sentence//頂點顏色 GLuint vbo_color = 0; glGenBuffers(1, &vbo_color); assert(vbo_color);glBindBuffer(GL_ARRAY_BUFFER, vbo_color); glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat)*24, color, GL_STATIC_DRAW); glVertexAttribPointer(1,3,GL_FLOAT, GL_FALSE, 0, 0); glEnableVertexAttribArray(1);

如上代碼一直沒搞明白第一個參數(shù)怎么使用,近來知道了,記錄下:

glVertexAttribPointer第一個參數(shù)對應vertexshader里哪個in attribute,是vertexshader中attribute的索引,有如下頂點著色器代碼:

//vertex shader layout(location = 0) in vec3 position; //position的location設定為0 glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat)*3*8, vertexs, GL_STATIC_DRAW);

則:

glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);

就是指定position的數(shù)據(jù)格式,第一個參數(shù)0就是在頂點著色器中設定的索引

總結(jié)

以上是生活随笔為你收集整理的glVertexAttribPointer第一个参数理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。