Windows での FBO を用いたオフスクリーンレンダリングのサンプルプログラムです。
オフスクリーンレンダリングとは、Window 以外に非表示で描画するものです。このため、オフスクリーンレンダリング結果は、画面には出力されません。
このサンプルでは、テクスチャに直接レンダリングを行い、描画結果をマッピングのデータとして使用し、Window に表示しています。
オフスクリーンレンダリングは、画面表示されないので、シャドウマップの作成等の前処理に利用することができます。 また、他の Window に描画画面が隠されていても、レンダリングには影響を受けません。
Windows のオフスクリーンレンダリングでは、ハードウェア機能が普通は使えません。しかし、FBO によるオフスクリーンレンダリングではハードウェア機能が使えます。
残念ながら全ての環境(グラフィックス・カード)で FBO をサポートしているわけではありません。
対象機種
Windows Vista, XP, 2000, NT 4.0, 3.51 / Me, 98, 95
動作確認機種
OS Windows XP グラフィックス nVIDIA GeForce 6200
必要なOpenGLバージョンおよび拡張機能
- OpenGL 1.2 以降
画面表示時にテクスチャの clamp_to_edge 機能を用いるため
- EXT_framebuffer_object
コンパイルに必要な環境
- Visual C++ 2005 以降(Express Edition を除く) (開発環境)
- opengl32.dll および glu32.dll (Windows 95 OSR2 以降は、標準でインストール)
- OpenGL SDK
コンパイルする上での注意事項
- OpenGL SDK から glext.h, wglext.h を入手し、GL ディレクトリ以下にコピーします。
- offscrn-fbo.sln をダブルクリックして VC++ を起動し、ビルドを選択します。
プログラムの扱い
- コピー、使用は自由に行えますが、使用にあたっては使用者自信の責任の下に行って下さい。著者は何の保証もしませんし、テキストおよびプログラムを使用したことによって生じた損害を補償する義務も負いません。
- 著者は、テキストおよびプログラムに不備があったとしても、それを修正する義務を負いません。
改版履歴
Ver. 1.0.0.1 2008/07/24
Ver. 1.0.0.2 2008/07/25
プログラム
- offscrn-fbo1002.zip ソース、実行ファイルを含みます。