teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

glVertexArrayではなくglVertexAttribに修正

2017/12/15 04:46

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -1,4 +1,4 @@
1
1
  VAOの存在を知らなかったので調べてみたところ、いい感じの解説がありました。
2
2
  [https://wgld.org/d/webgl/w073.html](https://wgld.org/d/webgl/w073.html)
3
3
 
4
- VAOはVBO等の設定をまとめるためのもののようです。あるモデルAの頂点用VBO、法線用VBO、テクスチャ座標用VBO、インデックス用VBOがあったとして、従来ではいちいちglBindBufferでVBOを切り替えてglVertexArray等でレンダラに渡してやる必要がありましたが、一度VAOにそれらの処理を記録してやれば、モデルAの時はこのVAO、モデルBのときはこのVAO、とVAOを切り替えるだけで頂点、法線、テクスチャ座標、インデックス等のVBOが一括で切り替わるイメージのようです。
4
+ VAOはVBO等の設定をまとめるためのもののようです。あるモデルAの頂点用VBO、法線用VBO、テクスチャ座標用VBO、インデックス用VBOがあったとして、従来ではいちいちglBindBufferでVBOを切り替えてglVertexAttrib等でレンダラに渡してやる必要がありましたが、一度VAOにそれらの処理を記録してやれば、モデルAの時はこのVAO、モデルBのときはこのVAO、とVAOを切り替えるだけで頂点、法線、テクスチャ座標、インデックス等のVBOが一括で切り替わるイメージのようです。