« remove_ifの思い違い | メイン | mixi Alert V.1.0.0 Build 66 をリリース »

2005年11月26日

Teaspire 開発日誌:: Widget化を考える

    

現在、Graphicsというクラスの中に、子ウィンドウ生成とDirectXの初期化を行う処理が入っている。
また、ウィンドウプロシージャもこのクラスが持っている。
今後、ウィンドウプロシージャにいろいろと処理を追加していくとしたら、Graphicsが肥大化してしまうし、分離した方がスマートだろう。
そこで、ウィンドウ関連の処理を別クラスにしようと思っていて気付いた。
Direct3Dを使って描画を行うwxWidget用のWidgetを作ればいいんじゃないか?と。
別スレッドになっている部分が少々気がかりだが、他のボタンなどのWidgetのようにSizerの上に配置したら、そこで手軽に3D描画が出来るとかなり汎用的になりそうだ。
3D以外にも2Dのもあれば、それを差し替えるだけで好きな方を楽に使えるようになるかもしれない。

Widgetにするとしたら、そのクラスからシーングラフのルートを取得できるようにすればいいだろうか?
後はいくつか設定を橋渡しすれば独立性を保てるかな。

具体的にどのように作るかは、似たようなWidgetにwxGLCanvasと言うものがあるので、これを参考にすれば何とかなりそうだ。
SaraではyaneSDK3rdを使っているので、描画はDirectDrawが使われている。
と言っても、ほとんどは自前で処理し、DirectDrawはフレームバッファのコピー関連とフルスクリーン周りしか使っていなかったはず。
なら、比較的楽にSDLに変更できるかな?
ま、そっちはそっちで試してみよう。



投稿者 Takenori : 2005年11月26日 23:51




comments powered by Disqus
Total : Today : Yesterday : なかのひと