【3Dエンジン】Irrlicht初心者質問スレ【高速描画】at GAMEDEV【3Dエンジン】Irrlicht初心者質問スレ【高速描画】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト921: ◆YATA/oetrw 10/04/23 13:10:47 nMYr0txh >>920 こちらでも再現したので新CGUITTFontの作者Nalinさんに報告しておきました http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=37296&postdays=0&postorder=asc&start=30 922: ◆YATA/oetrw 10/04/25 16:03:23 j4Dad0VM 早速修正してくれました(私はまだ未評価)。上記URLからDLして下さい。 以下、そのときの書き込みを適当翻訳。"as"みたいな副詞は苦手です。 >オゥケイ、その問題を修正しました。スレ1のダウンロードリンクを新バージョンに更新してあります。 > >この問題は私がFT_Faceオブジェクトをキャッシュしていたことにあります。 >より大きなフォントをロードしたときに、FT_Faceのいくつかの領域が上書きされていました。 >このため、フォント位置を計算するときにエラーを引き起こしました。 >私はfaceサイズをセットするため、サイズ計算を実行する前に2~3つFreeType関数を追加しました。 >これら関数は、この問題に関係した部分で動作します。 >願わくば、FT_Faceをキャッシュするのと、フォントサイズ毎にこれを新規作成するのでは、どちらが良いかを判断したいです。 >これは、パフォーマンス改善のため、読み込み、描画コードを書き直す際にでもやろうと思います。 > >------ >更新: >実は、描画コードをどう改良するか思案しています。もちろん、解決策は描画呼び出しの一括処理(バッチ)です。 >通常のIGUIFontは単一のビットマップを使い、video driverのdraw2DImageBatch()を利用しています。 > >私は解決策に関して、全レンダリング済グリフを保持するために空のITextureを作成する方向で検討しています。 >「新しいグリフがロードされるときは常に、自力でこれをITextureに追加し、グリフのインデックスを格納するためにmapを更新する」と言う流れです。 >これは、グリフ読み込みが遅くなる代わりに、ビルトインのIGUIFontクラスと同じくらい早い描画になります。 > >あるいは、「個々の文字ごとに一括描画を行う」と言う、簡単ですが動作の遅い解決策もあります(例:aだけ、bだけ、cだけ、と言う単位で、いっぺんに描画) >ひょっとすると、1つ目の方法と比べてエラーが少ないかもしれません。 >しかし、文字ごとにテクスチャを用意し、描画するのに状態変更が必要になる限り、1つ目の方法より遅くなります。 > >誰か他の考えはありませんか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch