Как нарисовать текст с помощью GLUT / OpenGL в C ++? - PullRequest
23 голосов
/ 11 февраля 2009

Как нарисовать текстовую строку на экране, используя функции рисования GLUT / OpenGL?

Ответы [ 4 ]

25 голосов
/ 11 февраля 2009

Есть два способа рисовать строки с GLUT

glutStrokeString будет рисовать текст в 3D

альтернативный текст http://local.wasp.uwa.edu.au/~pbourke/oldstuff/glut/opengl4.gif

и glutBitmapString будут рисовать текст лицом пользователя

alt text
(источник: sourceforge.net )

7 голосов
/ 11 февраля 2009

Если вам не нравится встроенный штриховой или растровый шрифт, который поставляется с GLUT согласно ответу epatel , вам придется развернуть собственное решение.

NeHe имеет несколько хороших учебных пособий (вместе с полностью рабочим примером кода) по этому вопросу:

6 голосов
/ 11 февраля 2009
void RenderString(float x, float y, void *font, const char* string, RGB const& rgb)
{  
  char *c;

  glColor3f(rgb.r, rgb.g, rgb.b); 
  glRasterPos2f(x, y);

  glutBitmapString(font, string);
}

И вы можете назвать это как;

RenderString(0.0f, 0.0f, GLUT_BITMAP_TIMES_ROMAN_24, "Hello", RGB(1.0f, 0.0f, 0.0f));
3 голосов
/ 11 февраля 2009

Это обычно немного противно и не просто. Попробуйте этот инструмент:

http://students.cs.byu.edu/~bfish/glfontdl.php

...