Direct3Dでフォント表示

地味に、「Direct3Dを利用た文字列表示」をやっています。
その昔、DirectXアプリケーションウィザードを使うと作成されたフレームワークにくっついていた、d3dfontを読みながら実装を進めています。
(今でもSampleBrowserとかから、取ってこれるのかな?)

やってることは結構簡単で、 CreateDBISection() でBIDを作ってあげて、そこにがきがき文字を書き込んで、DirectXのテクスチャに必用なビット情報を書き込むって感じなだけです。

ポイントとしては、フォントを作る際に、ANTIALIASED_QUALITYを指定してアンリエイリアスが掛かるようにして、背景色を黒、フォントカラーを白に設定してDIBに書き込むって所でしょうか...

あとは、ビットマップデータのポインタを操作しながら、赤成分をアルファとして、A8テクスチャを作ってあげておしまい。

描画するときにはフォントを描画したい色で頂点カラーを指定した、板ポリゴンを作って、A8テクスチャを張ってあげればオッケーでしょう。

折角なんで、指定した文字セット情報(ま、使いたい文字の配列)からフォントデータを作って、文字列描画できるぐらいのとこまでやっておきますか...

マルチバイト文字っちうか、utf対応なんかもやっちゃいたいんだけど、あんまり良くわかんないんだよね..

とりあえず、SJISから片付けてみることにします。