ウィンドウID

ウィンドウIDといえば、SDL_RenderCopy関数などの描画対象はSDL_SelectRenderer関数で指定するが、この関数にはウィンドウIDを指定する。これはウィンドウとレンダラーが一対になっている(ビデオカードとディスプレイの組み合わせと似たようなものか)から来るものっぽくて、一度SDL_SelectRenderer関数にウィンドウを指定しておけば、あとはSDL_RenderCopy関数などでは描画先を指定することはない。ということは、テクスチャーからテクスチャーへの描画はどうやってやるんだろう。
手元ではSDL_SetVideoMode関数で得られたサーフェスとは別のサーフェスを用意して、普段は後者に対して描画を行い、最後に後者を前者にBlitしている。これは内部的な画面の解像度と、目に見えるウィンドウの解像度が別であることへの対処なんだけど(内部では320x240だけど、ウィンドウは800x600で、ぴっちり拡大するのではなく、整数倍拡大(たとえば640x480)してウィンドウの中央に描画し、周りは黒くする、というようなことをしている)、これをSDL_Textureを使った方法だと描画対象が必ずウィンドウになってしまうような気がするが、気のせいか? (例えがアレだけど)鉄拳の球場ステージのバックスクリーンとか、DOA4の観戦部屋とかのような画面内画面みたいなのを作るのにも、テクスチャーを描画対象とする方法が必要な気がするんだけど、どうなんだろうねえ、別の隠しウィンドウを作ってそこへ描画してから、もとのウィンドウへ描画する?(うーん)
あまりこの手の対処に時間をかけてられないので、明日中に解決できなければテクスチャーの直接利用はあきらめるかなあ。しかしSDL_RenderCopy関数への回転機能追加がおいしすぎるんだよなあ(速さが段違い)。うーん、もっとよく考えよう。