2009-07-01 6 views
0

現在の変換や同様の設定、特に投影変換とビューポートを考慮してフォントをレンダリングしたい。C++ D3DXフォントと変換(d3d9とd3d10ソリューションが必要)

私はそれを行う最善の方法は、テキストをレンダリングするスクリーンの外面を持って、実際にテキストが必要なサーフェスをレンダリングすることだと考えています。

しかし、私はこの解決策のいくつかの側面については確信していません。

  • これは一番良い方法ですか?

  • このIDの周りにフリーフォントのレンダラーがいれば、そのようなことを許して自分の時間を費やすほうが良いでしょうか。私はさまざまな理由でd3dxフォントインターフェイスについて不平を言っている人がたくさんいますが、より良いユニコード対応レンダラへのリンクはありません...?

  • 特定のサーフェスフォーマットおよび/またはサーフェスサイズを使用する利点はありますか(たとえば、常にサイズを小さくしようとする余分なステップを必要とする標準の大きなものよりもできるだけ小さいものを使用してください)

答えて

1

うん、テクスチャにレンダリングし、テキストは、この機能を実現する最も簡単な方法になるだろうと配向位置にテクスチャクワッドを描きます。

D3DXテキストレンダラーは、実際に使用しているSDKによって異なります。 DirectWrite(Windows 7およびVistaのみ)は、Direct3Dと相互運用可能な方法で高品質のテキストレンダリングが必要なアプリケーションに、より高品質のテキストレンダリング手法を提供します。

もちろん、独自のラスタライズを行うこともできます。そこにはフォントのラスタライゼーションエンジンがありますが、これはオープンソースであり、このニーズに再利用することができますが、ここでは開発費を保証するために十分に区別できないメリットについてコーディングしています。

グリフのアウトラインにカーブデータとしてアクセスすることができれば、Direct3Dとシェーダではまったく新しい選択肢があります。アイデアは、シェーダを使用してテキストをラスタライズし、カーブ定義を頂点ストリームおよび関連するテクスチャに格納することです。技術を説明しているthis paperを見てみてください。

関連する問題