Сведения о вопросе

nikolya

00:13, 16th August, 2020

Теги

opengl   fonts   bitmap   glut    

Использование шрифтов GLUT bitmap

Просмотров: 650   Ответов: 1

Я пишу простое приложение OpenGL , которое использует GLUT . Я не хочу свернуть свой собственный код рендеринга шрифтов, вместо этого я хочу использовать простые шрифты bitmap, которые поставляются с GLUT . Каковы шаги, чтобы заставить их работать?



  Сведения об ответе

qwerty101

20:42, 16th August, 2020

Простой текстовый дисплей легко сделать в OpenGL с помощью GLUT bitmap шрифтов. Это простые шрифты 2D и не подходят для отображения в вашей среде 3D. Однако они идеально подходят для текста, который должен быть наложен на окно дисплея.

Ниже приведены примеры шагов для отображения любимой цитаты Эрика Картмана, окрашенной в зеленый цвет в окне GLUT:

Мы будем устанавливать положение растра в координатах экрана. Итак, настройте матрицы проекции и modelview для рендеринга 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();


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться