シャドウマップなんかに使うためにdepth値をテクスチャに格納したいんだけど、調べてみるとなんかいろいろと面倒。depth値格納用にGL_ARB_depth_texture拡張があるのでテクスチャフォーマットにはこれを使う。
フレームバッファに一旦描いてからglCopyTexSubImage2Dでテクスチャにコピーするのが一番簡単だけど、コピーが入るから当然遅い。
テクスチャへの直接レンダリングには、pbufferにレンダリングするWGL_ARB_render_texture拡張があるんだけど、これにはGL_ARB_depth_texture拡張は使えないらしい。で、代わりにこの用途にはWGL_NV_render_depth_texture拡張があるけど名前の通りNvidiaビデオカード専用。ATIではサポートされてないみたい。
GLSL使ってもできるだろうけど、やっぱ専用の命令の方が早そう。余計な手間はかけたくないし、そんな複雑な処理する気もないから、遅くてもglCopyTexSubImage2D使うのがいいかな・・・