มีหลายวิธี - ขึ้นอยู่กับสิ่งที่คุณต้องการ ... เช่นเดียวกับที่อื่นไม่มีสิ่งใดเหมือน "ทางออกที่ดีที่สุด" แพลฟอร์มของคุณคือเป้าหมาย? คุณใช้ภาษาอะไร การปรับขนาด / การหมุนข้อความเกี่ยวกับอะไร - จำเป็นหรือไม่ คุณต้องการแสดงผล TrueTypeFonts หรือไม่? Multilanguage / Unicode เกี่ยวกับอะไร คุณต้องการจัดเก็บข้อความของคุณอย่างไร (การเข้ารหัสใด ฯลฯ )
ฉันเคยใช้ FTGL ในอดีตเช่นเดียวกับ freetype บริสุทธิ์ (http://www.freetype.org/ FTGL เป็นพื้นฐานของสิ่งนี้) แบบอักษรบิตแมปชนิดต่าง ๆ แบบอักษรเค้าร่าง ... ตอนนี้ฉันส่วนใหญ่ติดบิตแมป แบบอักษร แต่นั่นเป็นเพียงการตั้งค่าส่วนตัวของฉัน เพราะฉันไม่ต้องการที่จะจัดการกับชุดอักขระการเข้ารหัสและสิ่งต่าง ๆ เช่นนั้นอีกต่อไป - การออกใบอนุญาตสำหรับบิตแมปฟอนต์ก็ง่ายและราคาถูกกว่าสำหรับ TrueTypeFonts และใช้ได้ในทุกรูปแบบที่สามารถโหลดภาพได้ ฉันใช้ quad ใน openGL และทำแผนที่เป็นส่วนหนึ่งของพื้นผิวของฉัน อีกด้านหนึ่งคือ: แบบอักษรนั้นจะปรับขนาดได้อย่างสะอาดเพียงแค่ปัจจัยที่มีค่า +/- 50% หากคุณสามารถอยู่กับที่ฉันขอแนะนำให้ใช้ bitmapfont
หากคุณต้องจัดการกับการเข้ารหัส / ชุดอักขระที่แตกต่างกันคุณควรหาวิธีในการโหลดและใช้ TrueTypeFonts (เช่นกับ freetype โดยใช้ไลบรารีอื่นหรือกับการดำเนินการของคุณเอง) ...
ดูที่ nehes แบบฝึกหัดต่าง ๆ ในหัวข้อนี้ด้วย
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=13แบบอักษรบิตแมป
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=14สรุปแบบอักษร
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=15แบบอักษรพื้นผิวที่แมป
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=17แบบอักษรพื้นผิว 2D
โชคดี!