Une bibliothèque de rendu Text OpenGL moderne pour OpenTK.
Filé à partir de la bibliothèque Swax / QuickFont. Bibliothèque originale QFONT
Vous pouvez installer cette bibliothèque via Nuget.
QuickFont a été testé et s'exécute sur Windows, Linux et OSX.
La version OpenGL à prise en charge minimale est 3.0
Remarque Le projet d'exemple devra être modifié pour construire correctement sur OSX, car par défaut Apple renvoie un contexte OpenGL 2.1 si une version spécifique n'est pas spécifiée.
Remplacez simplement le constructeur Game.cs par:
public Game ( )
: base ( 800 , 600 , GraphicsMode . Default , "QuickFont Example" , GameWindowFlags . Default , DisplayDevice . Default , 3 , 2 , GraphicsContextFlags . Default )Cela sélectionnera une version OpenGL> = 3.2 (généralement 4.1).
FreeTypeFont est utiliséQFontDrawing ne pas implémenter IDisposableQVertexArrayObject Dans une méthode onload (), créez votre qfont et votre qfontdrawing
_myFont = new QFont ( "Fonts/HappySans.ttf" , 72 , new QFontBuilderConfiguration ( true ) ) ;
_myFont2 = new QFont ( "basics.qfont" , new QFontBuilderConfiguration ( true ) ) ;
_drawing = new QFontDrawing ( ) ;Appelez quelques méthodes d'impression ou créez des primitives en eux-mêmes. Ajoutez-les au dessin.
_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 ( ) ;Ensuite, dans votre boucle de tirage, faites:
_drawing . ProjectionMatrix = proj ;
_drawing . Draw ( ) ;
SwapBuffers ( ) ;À la fin du programme, disposer des ressources QuickFont:
protected virtual void Dispose ( bool disposing )
{
_drawing . Dispose ( ) ;
_myFont . Dispose ( ) ;
_myFont2 . Dispose ( ) ;
}Voir l'exemple inclus pour plus!
Ce qui suit est une liste non exhaustive de personnes qui ont contribué à Quickfont:
James Lohr - Créateur de la bibliothèque originale (http://www.opentk.com/project/quickfont)
John (Swax) Marshall - Support de tampon de sommet ajouté
Patrick (OPCON) Yates - Accueil Uponiateur
Robertofon - Classe monolithique QFONT refactorisée
Martinay - Support OpenGL ES 2.0
Jan Polak
Jonathan
Licencié dans le cadre du MIT, veuillez consulter le fichier License.txt dans le répertoire racine du projet