Opentkの最新のOpenGLテキストレンダリングライブラリ。
Swax/QuickFontライブラリからフォーク。オリジナルライブラリqfont
このライブラリはNugetを介してインストールできます。
QuickFontはテストされ、Windows、Linux、OSXで実行されます。
サポートされている最小のOpenGLバージョンは3.0です
注OSXで正しく構築するには、Exampleプロジェクトを変更する必要があります。デフォルトでは、Appleが特定のバージョンが指定されていない場合はOpenGL 2.1コンテキストを返すためです。
game.csコンストラクターを次のように置き換えるだけです。
public Game ( )
: base ( 800 , 600 , GraphicsMode . Default , "QuickFont Example" , GameWindowFlags . Default , DisplayDevice . Default , 3 , 2 , GraphicsContextFlags . Default )これにより、OpenGLバージョン> = 3.2(通常4.1)が選択されます。
FreeTypeFontが使用されている場合、Kerning情報はFreetypeからロードされるようになりましたIDisposableを実装しないQFontDrawingを修正しましたQVertexArrayObjectでの廃棄の改善いくつかのonload()メソッドでqfontとqfontdrawingを作成します
_myFont = new QFont ( "Fonts/HappySans.ttf" , 72 , new QFontBuilderConfiguration ( true ) ) ;
_myFont2 = new QFont ( "basics.qfont" , new QFontBuilderConfiguration ( true ) ) ;
_drawing = new QFontDrawing ( ) ;いくつかの印刷方法を呼び出すか、自分で描画プリミティブを作成します。それらを図面に追加します。
_drawing . DrawingPrimitives . Clear ( ) ;
_drawing . Print ( _myFont , "text1" , pos , FontAlignment . Left ) ;
// draw with options
var textOpts = new QFontRenderOptions ( )
{
Colour = Color . FromArgb ( new Color4 ( 0.8f , 0.1f , 0.1f , 1.0f ) . ToArgb ( ) ) ,
DropShadowActive = true
} ;
SizeF size = _drawing . Print ( _myFont , "text2" , pos2 , FontAlignment . Left , textOpts ) ;
var dp = new QFontDrawingPrimitive ( _myFont2 ) ;
size = dp . Print ( text , new Vector3 ( bounds . X , Height - yOffset , 0 ) , new SizeF ( maxWidth , float . MaxValue ) , alignment ) ;
drawing . DrawingPrimitives . Add ( dp ) ;
// after all changes do update buffer data and extend it's size if needed.
_drawing . RefreshBuffers ( ) ;それからあなたのドローループで:
_drawing . ProjectionMatrix = proj ;
_drawing . Draw ( ) ;
SwapBuffers ( ) ;プログラムの最後に、QuickFontリソースを処分します。
protected virtual void Dispose ( bool disposing )
{
_drawing . Dispose ( ) ;
_myFont . Dispose ( ) ;
_myFont2 . Dispose ( ) ;
}詳細については、含まれている例プロジェクトをご覧ください!
以下は、QuickFontに貢献した人々の非網羅的なリストです。
James Lohr -Original Libraryの作成者(http://www.opentk.com/project/quickfont)
John(Swax)Marshall-頂点バッファーサポートを追加しました
Patrick(Opcon)Yates-現在のメンテナー
Robertofon-リファクタリングモノリシックQfontクラス
Martinay -OpenGL ES 2.0サポート
ヤン・ポラク
ジョナサン
MITの下でライセンスされています。プロジェクトルートディレクトリのファイルLicense.txtを参照してください