VBO

WebGLRenderingContext

VBOとは?

 状態:-  閲覧数:1,331  投稿日:2018-08-07  更新日:2018-08-16  

表記


英語
・Vertex Buffer Object

日本語
・頂点バッファオブジェクト

頂点情報を格納したバッファ


GPU側のメモリにあるバッファ
・GPU上にバッファ領域を確保し、そこにgl.bufferDataであらかじめ頂点データを送り込んで、CPU側ではそれをVBO(オブジェクト)として管理する
・頂点データはGPU上にある(CPU側では、データそのものでなくポインタを持っているようなイメージ)

VBO の情報はバッファにデータを格納した段階で GPU 上に転送される
→ VBO の生成方法(VBO へのデータの格納方法)を工夫することにより、GPU 上でのメモリの配置に影響を与えることができる

以降の処理
・CPU->GPUへの頂点データの転送処理がない
・CPU側からは実質的なデータは送らず(頂点データはすでにGPU上にあるから)、ただ、「あなた(GPU)のバッファ上にある、このVBO(頂点データ)を描画しろ」という指令を出すだけ

VBOの特徴 / 改善の余地が残されている点

 閲覧数:322 投稿日:2018-08-15 更新日:2018-08-15 

VBOの特徴


高速
→ WebGLではVBO使用が前提となっている

改善の余地が残されている点


VBO の生成方法(VBO へのデータの格納方法)を工夫することにより、GPU 上でのメモリの配置に影響を与えることができる

工夫とは?
・メモリ上にデータを配置する際、頂点単位でデータがまとまって格納される ようにする

GPU本来の性能を引き出すWebGL頂点データ作成法


clearDepth()メソッド

コメント投稿(ログインが必要)