位图字体也就是将字符保存在位图中,同样是为每个字符构造一个显示列表,显示列表中绘制个四边形并贴上代表每个字符的位图。这样每次调用显示列表的时候也就是在3d空间中绘制了一个基本图形。通过glBlendFunc(GL_ONE, GL_ONE), glEnable(GL_BLEND),启动混合将纹理的黑色背景去掉。因为绘制的是一个基本图形,参与深度测试,所以要关掉深度测试,glDisable(GL_DEPTH_TEST);
当绘制完时要重新启动深度测试glEnable(GL_DEPTH_TEST),关闭混合glDisable(GL_BLEND);文中添加了两种字体,通过glListBase(m_iBase - 32 + 128)和glListBase(m_iBase - 32)选择第二种字体和第一种字体。每种字体包括128个字符。