tarosukeの日記: [RWM] FTGLが微妙
日記 by
tarosuke
FTGLはOpenGLで直接文字をレンダリングしてくれるライブラリなのだが...FTGLPolygonFont::Renderの描画位置とサイズのコントロールがあまりにも独特なのと内部でディスプレイリストを使ってくれるのがキツイ。OpenGLのディスプレイリストはglEndListをにリスト番号のパラメタがなくてディスプレイリストを指定できなくて全部終了しちゃうのだが、FTGLPolygonFont::Renderを呼び出すと一文字ごとにglEndListを呼ぶらしく一文字目を描画したとこまでしか記録されない。
つまりFTGLPolygonFont::Renderで描画させるとディスプレイリストにきちんと記録することができない。何かのキャッシュなんだろうけどさ。てなわけでFTGLTextureFontを使うかfreetypeを直接使って描画するとかしなきゃならんようだ。
--
FTGLTextureFontの意味を勘違いしてた。どの種類を使っても結局OpenGLの空間に描かれる。BitmapとかPolygonとかTextureってのは描画方法の違いらしい。で、TextureFontに変更してみたらディスプレイリストを使うことはなくなったがフォントの品質は低下したっぽい。ポリゴンの時は大きな文字でも境界がはっきりしていたがテクスチャだとレンダリングした以上の解像度にはならなくて境界がぼやける。
--
って、FTGLにはディスプレイリストを使うかどうか設定するフラグがあるようだな。
TextureFontの方が速いようだからPolygonFontに戻す気はないけど。
[RWM] FTGLが微妙 More ログイン