Что самый легкий путь состоит в том, чтобы распечатать текст для экранирования в OpenGL?

Я должен распечатать 3 строки текста к окну как меню.

1 - Menu
2 - Pause
3 - Exit
9
задан patrick 2 February 2010 в 10:22
поделиться

3 ответа

Учитывая, что в предыдущих вопросах вы использовали GLUT, проще всего было бы использовать встроенные в GLUT функции рендеринга шрифтов.

Пример:

void output(int x, int y, float r, float g, float b, int font, char *string)
{
  glColor3f( r, g, b );
  glRasterPos2f(x, y);
  int len, i;
  len = (int)strlen(string);
  for (i = 0; i < len; i++) {
    glutBitmapCharacter(font, string[i]);
  }
}

Где шрифт является одной из констант шрифта GLUT:

GLUT_BITMAP_8_BY_13
GLUT_BITMAP_9_BY_15
GLUT_BITMAP_TIMES_ROMAN_10
GLUT_BITMAP_TIMES_ROMAN_24
GLUT_BITMAP_HELVETICA_10
GLUT_BITMAP_HELVETICA_12
GLUT_BITMAP_HELVETICA_18
13
ответ дан 4 December 2019 в 12:18
поделиться

На этой веб-странице описаны три возможных пути и ссылки на удобные библиотеки, которые могут помочь.

Нет простого встроенного способа визуализации текста, и есть (как подробно описано на этой странице) несколько возможных подходов, все это компромисс в зависимости от того, какие свойства вам требуются от визуализации текста.

2
ответ дан 4 December 2019 в 12:18
поделиться

Здесь описан простой, но только для Windows метод: Nehe Урок 13

В основном он использует эти три функции:

  • wglUseFontBitmaps
  • glListBase
  • glCallLists
1
ответ дан 4 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: