18

DirectX 10では、D3DX10が提供するフォントインターフェイスを使用できます。DirectX 11では、DirectWriteを使用することになっています。しかし、DirectWriteはDirect3Dとネイティブに通信しないように見えますか?私が見逃している基本的なものはありますか?DirectX 11で簡単なテキストをどのように描画しますか?

4

4 に答える 4

10

DirectXTKライブラリには、テキストをDirectX11デバイスコンテキストにレンダリングできるSpriteFontクラスがあります。

于 2013-07-03T17:42:11.810 に答える
9

2014年の編集:

コメントで指摘されているように、RasterTekチュートリアルへのリンクは機能しなくなりました。これは、RadioSpaceが提供するRasterTekのWebアーカイブへのリンクです。

D3D11バックバッファーをDirect2Dと共有し、それを介してDirectWriteでテキストを描画できるようになったため、元の回答の2番目のポイントも無効になりました。

2017年の編集:

RasterTekはまだ実行中です:D3D11でのフォントレンダリング


私は2つのオプションについて知っています

現時点では、dwriteとd2dは、レンダリング用にd3d11デバイスで作成されたサーフェスを受け入れません。しかし、うまくいけば、MSはすぐにそれを実現します。

于 2011-04-19T10:29:34.997 に答える
7

最近、DirectX10アプリケーションをDirectX11に変換し、同じ答えを検索しているときにこの投稿に出くわしました。Zeelaが言及したRastertekチュートリアルは優れていますが、検索を続けてFW1FontWrapperを見つけました。たった30分で、プロジェクトへの統合が完了しました。うまく機能しているようです。ダウンロードセクションには、ヘッダー、ライブラリ、DLLを含むx86パッケージとx64パッケージの両方が含まれています。単純なテキスト出力を行っているだけなので、APIについて多くを語ることはできません。ただし、私が行ったこと(1秒あたりのフレーム数の出力)では、約5行のコード(ラッパーオブジェクトの作成/解放を含む)しか必要ありませんでした。 )。彼のサンプルに基づくと、これまで使用していたものよりもはるかに多くのオプションを提供しているようです。

于 2011-10-24T16:51:22.470 に答える
6

DirectWriteを使用すると、高品質のテキストレンダリング、解像度に依存しないアウトラインフォント、および完全なUnicodeテキストとレイアウトのサポートがサポートされます。

于 2013-12-25T22:30:03.507 に答える