C#2.0時代のゲームプログラミング(11)

実は、この問題には、特効薬がある。あまり知られていないAPIだが(そもそもWindows環境でOpenGLを複数のウィンドゥの描画に使っているケース自体がレアなのだが)、wglShareListsというのがある。


これは、二つのRCを結びつける。これを使えば、glGenTextureで返されるテスクチャ番号も共有される。


あとは、何と何とを結びつけておけばいいかだが、ひとつ目に作ったRCを解放せずに残しておき、二つ目以降につくるものは、ひとつ目に作ったRCと結びつけるというhackが簡単でお勧めできる。テクスチャ自体は、前述のcache systemにより管理されているので、そういう作り方にしても無尽蔵にテクスチャを消費するようなことは決してないからだ。


(つづく)