DirectX 11 バージョンと OpenGL 3.1+ バージョンで提供されるプロジェクトに DirectWrite を使用することを検討しています。
理解していることから、DirectWriteはDirect3D 10.1の上にあるDirect2Dを使用します(DirectX 11.1がリリースされるまで)。これは、現在、Direct3D 11 で DirectWrite を使用するには、1 つの Direct3D 10.1 デバイスと Direct3D 11 デバイスを作成し、これら 2 つのデバイス間でリソースを共有する必要があることを意味します。これには、同期のオーバーヘッドが伴うようです。もう 1 つの問題は、この設定ではテキストを d3d11 バックバッファーに直接レンダリングできないように見えるということですよね...?
また、実際的な意味で DirectWrite と OpenGL を組み合わせることが可能かどうかもわかりません..? 私の推測では...
すっごく... 私も独自のフォント レンダラーを作成することを検討しています。解像度に依存しないように、ベジエ スプライン アウトラインに基づいてフォントをレンダリングできるようにしたいと考えています。GetGlyphOutline() 関数については知っていますが、MSDN ライブラリによると、非推奨であり、「...新しいアプリケーションでは使用しないでください」と思われます。また、MSDN の DirectWrites リファレンス ページを見ても、GetGlyphOutline() でできるように、ベジエ スプライン情報で同じものを取得する方法がわかりません。ID2D1SimplifiedGeometrySink にラップされたアウトライン情報を取得できますが、ID2D1SimplifiedGeometrySink から純粋なベジエ曲線、コントロール ポイント、情報を取得する方法がわかりません。D2D (D3D10.1) を使用した描画にのみ使用できます。現時点ではあまり興味がありません。
非推奨のメソッド、DirectWrite などを使用してフォントのアウトラインの輪郭を取得する方法はありますか?
お分かりのように、私は DirectWrite と Direct2D のどちらにもあまり詳しくありません。どの方向に進むべきかを模索中です。DirectWrite/D2D の道をたどる価値があるのか、それとも独自のフォント レンダラーを作成するのか、またはその他の素晴らしいアイデアを作成するのか :)。助言がありますか?
PS 現在、Win7 プラットフォーム向けに開発を行っており、リリースされたら Win8 に移行する予定です。