最終更新: mikk_ni3_92 2008年09月16日(火) 10:32:42履歴
現在地 >> メニュー >> 基本編10 >> FrameBufferObject
関連 :VertexBufferObject、PixelBufferObject
「カラーバッファ」、「デプスバッファ」、「ステンシルバッファ」、「アキュムレーションバッファ」が
OpenGLで利用されている「フレームバッファ」である。
一般にこれらは
「window-system-provided framebuffer」(※ウィンドウシステムが提供するフレームバッファ)
と呼ばれる。
これに対し、「FBO」は非表示可能な「フレームバッファオブジェクト」であり、
「application-created framebuffer」(※アプリケーションが作成するフレームバッファ)
と呼ばれ、「window-system-provided framebuffer」と同様のバッファを持つ。
(ただし「アキュムレーションバッファ」はない)
なお、FBOではそれら論理的なバッファは「framebuffer-attachable images」と呼ばれている。
(※フレームバッファと関連付けを行う事ができる2次元配列のようなもの)
FBO(framebuffer object)を使う事で、出力先を「window-system-provided framebuffer」から切り替える事ができる。
「framebuffer-attachable images」には
これは、
「texture images」がフレームバッファと関連付けられる ⇒ 「テクスチャへのレンダリング」
「renderbuffer images」がフレームバッファと関連付けられる ⇒ 「オフスクリーンレンダリング」
となる。
関連付けられる個数はグラフィックカード次第。
上図のように、FBO自体は何かメモリストレージを持っているわけではない。
単なる関連付けのために用いられる。
つまり、テクスチャオブジェクトやレンダーバッファオブジェクトを作成(メモリ用意)して
それをFBOに関連付ける。
関連 :VertexBufferObject、PixelBufferObject
「カラーバッファ」、「デプスバッファ」、「ステンシルバッファ」、「アキュムレーションバッファ」が
OpenGLで利用されている「フレームバッファ」である。
一般にこれらは
「window-system-provided framebuffer」(※ウィンドウシステムが提供するフレームバッファ)
と呼ばれる。
これに対し、「FBO」は非表示可能な「フレームバッファオブジェクト」であり、
「application-created framebuffer」(※アプリケーションが作成するフレームバッファ)
と呼ばれ、「window-system-provided framebuffer」と同様のバッファを持つ。
(ただし「アキュムレーションバッファ」はない)
なお、FBOではそれら論理的なバッファは「framebuffer-attachable images」と呼ばれている。
(※フレームバッファと関連付けを行う事ができる2次元配列のようなもの)
FBO(framebuffer object)を使う事で、出力先を「window-system-provided framebuffer」から切り替える事ができる。
「framebuffer-attachable images」には
- texture images
- renderbuffer images
これは、
「texture images」がフレームバッファと関連付けられる ⇒ 「テクスチャへのレンダリング」
「renderbuffer images」がフレームバッファと関連付けられる ⇒ 「オフスクリーンレンダリング」
となる。
関連付けられる個数はグラフィックカード次第。
上図のように、FBO自体は何かメモリストレージを持っているわけではない。
単なる関連付けのために用いられる。
つまり、テクスチャオブジェクトやレンダーバッファオブジェクトを作成(メモリ用意)して
それをFBOに関連付ける。