ไลบรารีการแสดงผลข้อความ OpenGL ที่ทันสมัยสำหรับ Opentk
แยกจากไลบรารี Swax/QuickFont ห้องสมุดดั้งเดิม qfont
คุณสามารถติดตั้งไลบรารีนี้ผ่าน Nuget
QuickFont ได้รับการทดสอบและทำงานบน Windows, Linux และ OSX
รุ่น OpenGL ขั้นต่ำที่รองรับคือ 3.0
หมายเหตุโครงการตัวอย่างจะต้องมีการเปลี่ยนแปลงเพื่อสร้างอย่างถูกต้องบน OSX เนื่องจาก Apple เริ่มต้นกลับบริบท OpenGL 2.1 หากไม่ได้ระบุเวอร์ชันเฉพาะ
เพียงแทนที่ Game.cs Constructor ด้วย:
public Game ( )
: base ( 800 , 600 , GraphicsMode . Default , "QuickFont Example" , GameWindowFlags . Default , DisplayDevice . Default , 3 , 2 , GraphicsContextFlags . Default )สิ่งนี้จะเลือกรุ่น OpenGL> = 3.2 (โดยปกติ 4.1)
FreeTypeFontQFontDrawing ไม่ใช้ IDisposableQVertexArrayObject ในวิธีการ 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 - ผู้สร้างห้องสมุดดั้งเดิม (http://www.opentk.com/project/quickfont)
John (Swax) Marshall - เพิ่มการสนับสนุนบัฟเฟอร์จุดสุดยอด
Patrick (Opcon) Yates - ผู้ดูแลปัจจุบัน
Robertofon - คลาส qfont refactored qfont
Martinay - การสนับสนุน OpenGL ES 2.0
Jan Polak
โจนาธาน
ได้รับใบอนุญาตภายใต้ MIT โปรดดู File License.txt ใน Project Root Directory