あーうー。
なぜかテクスチャへのレンダリングは実装しなきゃ!とか思い込み始めちゃったので実装。
OpenGLでテクスチャへのレンダリングは大変なんですヨ。
一番簡単なのはバックバッファに適当に書いておいてコピー。しかしレンダリング可能なサイズがウィンドウサイズに限定される罠。
上の別バージョンでAUXバッファ使うっていう手もあるね。GeForceだと最近のドライバでは4枚まで使えるようになっている。しかしそれ以外のメーカーではほぼ全滅。
あとPBuffer。上記の問題は解決できるが、プラットフォームによって実装が全く違う困り物。ラッパーライブラリとか探してみたけど無さげ。これを使う気は起きない。
本命はEXT_framebuffer_object。しかしRadeon 9500以降、GeForce 4Ti以降なんだよな。これぐらい必須にしたい所だが、俺のiBookで動かねぇ。
とりあえず実装は、EXT_framebuffer_objectをメインに、補助的にバックバッファからコピーの方向で。
で、コピーの方は上手く実装できたのを確認できたんだが、遅いしウィンドウサイズまでしか描画できないしでさっぱり使えねぇ。遅いのはやっぱりコピーがネックっぽいんだが、それにしても遅すぎじゃねぇ?
コピーの方はFBO使用の物となんとなくでも動作を合わせなきゃならんのだけど、なんか上手くいかないよ…。
テクスチャへのレンダリングと別にテクスチャへのコピーを実装して、テクスチャへのレンダリングはFBO必須にした方が良い気がしてきた。
うん、そうしよう。
あとGeForce 6200を買うことにした。つかmultisampleとかfboとか実装してるのに試せないのは問題ありだよ。シャドウマップとかも作りたいしさ。 6500なるものが秘かに出てるけど、PCIe専用っぽいし。AGPの6600が安けりゃそれでもいいや。
でー、あと実装したいのは…。
こんなもんかなぁ。
文字表示は早く欲しいけど、SDLのサーフェスからテクスチャにコピーできればSDL_ttfでなんとかなりはするのよねぇ。
サーフェスからテクスチャを作ったりコピーしたりは早めに作っておいて損はないか。簡単だし。
ドキュメントと見栄えのするデモが欲しいな。まあ、デモはともかくドキュメントは欲しい所。しかし仕様も流動的だったりするしなぁ。