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