Простое отображение текста легко сделать в OpenGL с использованием растровых шрифтов GLUT. Это простые 2D-шрифты, которые не подходят для отображения внутри вашей трехмерной среды. Тем не менее, они идеально подходят для текста, который нужно наложить на окно дисплея.
Вот примеры шагов для отображения любимой цитаты Эрика Картмана, выделенной зеленым цветом в окне GLUT:
Мы будем устанавливать положение растра в экранных координатах. Итак, установите матрицы проекции и просмотра модели для 2D-рендеринга:
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0.0, WIN_WIDTH, 0.0, WIN_HEIGHT);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
Установить цвет шрифта. (Установите это сейчас, а не позже.)
glColor3f(0.0, 1.0, 0.0); // Green
Укажите расположение окна, в котором должен отображаться текст. Это делается путем установки положения растра в экранных координатах. Нижний левый угол окна - (0, 0).
glRasterPos2i(10, 10);
Установите шрифт и отобразите строковые символы, используя glutBitmapCharacter .
string s = "Respect mah authoritah!";
void * font = GLUT_BITMAP_9_BY_15;
for (string::iterator i = s.begin(); i != s.end(); ++i)
{
char c = *i;
glutBitmapCharacter(font, c);
}
Восстановить обратно матрицы.
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();