ウィンドウも少し抽象化を進めないといけないかな。例えばウィンドウハンドルを直接渡さないで、ウィンドウをラップしたオブジェクトを渡すようにするとかだ。それ以外にもいろいろ抽象化するところは有りそうだ。
サンクとか継続とかジオメトリとか状態管理とかをBoostライブラリを活用して実装したいが、アイデアは「もやっ」としてまとまっていない。
UIをDirect3Dで描くのでシェーダー周りのことを勉強しなくてはいけない。まだわからない事だらけなので。
さらにHighDPIについても理解が不足している。今日わかったのはスクリーン座標からDIPに変更しなくてはいけないとか、Direct2DはHighDPIを意識した作りになっているとか、ウィンドウを作るときにはHigh DPIに応じて大きさを変えなくてはいけないとか、仮想DPIは使わないとかくらいである。これも知識が不足しているせいで頭の中で混沌としている。
基本的にDirect3Dシェーダーで頑張るのだけれど、Direct2Dのお世話にもなりたい。なのでDirect3D11テクスチャにDirect2Dで描画する方法も押さえとかないとね。