0

現在の変換と同様の設定、特に投影変換とビューポートを考慮した方法でフォントをレンダリングしたいと考えています。

そのための最善の方法は、テキストをレンダリングするオフスクリーン サーフェスを用意し、そのサーフェスを本当にテキストが必要な場所にレンダリングすることだと考えています。

ただし、このソリューションの多くの側面については確信が持てません。

  • これは、それを行うための最良の方法ですか?

  • はるかに優れた無料のフォントレンダラーがあり、そのようなことを可能にするために時間を費やす方がよいでしょうか. さまざまな理由で d3dx フォント インターフェイスについて不満を言う人がたくさんいますが、より優れた Unicode 対応レンダラーへのリンクはありません...?

  • 特定のサーフェス形式および/またはサーフェス サイズを使用する利点はありますか (たとえば、標準的な大きなものではなく、可能な限り最小のものを常に使用すると、サイズを計算するための追加の手順が必要になります...)

4

1 に答える 1

1

ええ、テクスチャにレンダリングしてから、テクスチャ付きのクワッドを描画してテキストの向きと位置を決めることが、この機能を実現する最も簡単な方法になります。

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

もちろん、独自のラスタライズを行うこともできます。このニーズに合わせて再利用できるオープン ソースのフォント ラスタライゼーション エンジンがありますが、ここでは、開発費を正当化するのに十分なほど区別できない可能性がある利点のために、大量のコーディングについて話しています。

そうは言っても、曲線データとしてグリフのアウトラインにアクセスできる場合は、Direct3D とシェーダーを使用して、まったく新しい代替手段を利用できます。アイデアは、シェーダーを使用してテキストをラスタライズし、曲線定義を頂点ストリームと関連するテクスチャに保存することです。この技術について説明しているこの論文を見てみてください。

于 2009-07-17T01:34:47.403 に答える