(二) OpenGL
2023-04-01 12:24 作者:FineClassFuture | 我要投稿
畫單色三角形

vertices頂點(diǎn)數(shù)據(jù)怎么傳給GPU綁定到vPos上?
????VAO:Vertex Array Object
????????頂點(diǎn)有一些屬性,需要記錄,一個(gè)設(shè)備又有多個(gè)頂點(diǎn),所以需要一個(gè)記錄器(Object)來記錄這些頂點(diǎn)(Vertex Array)的屬性。(當(dāng)然可以創(chuàng)建多個(gè)VAO來記錄)
????????查詢支持的最大頂點(diǎn)個(gè)數(shù)
????????GLint maxVertexAttribs = 0; //OpenGL規(guī)定最少得支持16個(gè)頂點(diǎn)同時(shí)可用
????????glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &maxVertexAttribs);
1. glVertexAttribPointer直接設(shè)置頂點(diǎn)屬性來上傳數(shù)據(jù)
????需要每次render時(shí)都要上傳才能繼續(xù)該次渲染
????現(xiàn)代教程都直接略過這部分,所以一開始都會(huì)有后面的疑問。幸好自己還記得。
2. 使用頂點(diǎn)緩沖區(qū)VBO(vertex buffer object)

? ??


畫單色矩形
1. 畫兩個(gè)三角形組合成矩形



????可以看到/* 右上方 *//* 左下方 */兩個(gè)點(diǎn)重復(fù)了。有沒有辦法縮減?
2.?通過連邊的三角帶方式畫兩個(gè)三角形組合成矩形


貼紋理







標(biāo)簽: