FBO-使用上の注意

fbo-attension.png

速くするためにFrameBufferObjectを使いますが、上手に使わないとパフォーマンスが発揮できないよ!
ということで注意事項

  • ウィンドウシステムの提供するフレームバッファへのレンダリングとフレームバッファオブジェクトへのレンダリングを頻繁に切り替えないようにする
  • フレームごとにフレームバッファオブジェクトやレンダーバッファオブジェクト(その他大きなデータオブジェクト)を作成したり破棄したりしない。
  • レンダリングターゲットとして使用されているフレームバッファオブジェクトのアタッチメントであるテクスチャを(glTexImage2D,glTexSubImage2D,glCopyTexImage2D)などを用いて修正しないようにする。
  • テクスチャ画像全体がレンダリングされる場合は、glTexImage2DglTexImage3DOESのpixels引数をNULLに設定する。元のデータはいずれにせよ使われないため。
    • その画像がテクスチャの中に何か定義されたピクセルを持っている場合、そのテクスチャに描画する前にテクスチャ画像をglClearでクリアしてください。

performance

サポートサイト Wikidot.com performance