Ответов (1)1
В OpenGL легко отобразить простой текст, используя растровые шрифты GLUT. Это простые 2D-шрифты, которые не подходят для отображения в 3D-среде. Однако они идеально подходят для текста, который необходимо наложить на окно дисплея.
Вот примеры шагов, чтобы отобразить любимую цитату Эрика Картмана, выделенную зеленым цветом, в окне 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();