Linux下Modern OpenGL显示汉字
前一篇中解码出来的图像已经能够正常颜色格式转换和显示了,现在遇到了新的问题:显示文字
本以为这是一个很简单的东西,因为之前使用SDL时直接应用sdl_ttf库很简单的就实现了文字渲染工作,结果万万没想到OpenGL中实现这个小功能竟然没有现成API,这对于CV码农来说简直是灾难。没办法,看了这么久的GL硬着头皮也要走下去,经过两天不断的查资料和编码调试终于大功告成!老版本的OpenGL直接使用glut加载字符就能完成显示,modern OpenGL则需要使用shader结合vaovbo完成渲染,下面介绍如何实现
FreeType2
freetype2是一个字体库,能够完成加载字体文件,提取字符,生成bitmap等工作
FreeType is a software development library that is able to load fonts, render them to bitmaps and provide support for several font-related operations. It is a popular library used by Mac OS X, Java, PlayStation Consoles, Linux and Android to name a few. What makes FreeType particularly attractive is that it is able to load TrueType fonts.
关键代码
FT_Library ft;
if (FT_Init_FreeType(&ft))
std::cout << "ERROR::FREET