Jak narysować tekst za pomocą GLUT / OpenGL w C++?

Jak narysować tekst za pomocą GLUT / OpenGL w C++?

Istnieją dwa sposoby rysowania ciągów za pomocą GLUT

glutStrokeString narysuje tekst w 3D


(źródło:uwa.edu.au)

a glutBitmapString narysuje tekst skierowany użytkownik


(źródło:sourceforge.net)


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);
}

I możesz to nazwać;

RenderString(0.0f, 0.0f, GLUT_BITMAP_TIMES_ROMAN_24, "Hello", RGB(1.0f, 0.0f, 0.0f));

Jeśli nie podoba ci się wbudowana czcionka obrysowa lub czcionka bitmapowa, która jest dostarczana z GLUT, zgodnie z odpowiedzią epatel, będziesz musiał rzucić własne rozwiązanie.

NeHe ma kilka dobrych tutoriali (wraz z w pełni działającym przykładowym kodem) na ten temat:

  • Lekcja 13 – Czcionki bitmapowe
  • Lekcja 14 – Czcionki konspektu
  • Lekcja 15 – Czcionki konturowe z mapami tekstur