web-dev-qa-db-ja.com

C ++でGLUT / OpenGLを使用してテキストを描画するにはどうすればよいですか?

GLUT/OpenGL描画関数を使用して画面にテキスト文字列を描画するにはどうすればよいですか?

23
KingNestor

GLUTで文字列を描くには2つの方法があります

glutStrokeString は3Dでテキストを描画します

alt text
(ソース: wa.edu.a

glutBitmapString は、ユーザーに向けてテキストを描画します

alt text
(ソース: sourceforge.net

25
epatel

epatel's answer に従ってGLUTに付属している組み込みストロークフォントまたはビットマップフォントが気に入らない場合は、独自のソリューションを展開する必要があります。

NeHe には、これに関するいくつかの優れたチュートリアル(および完全に動作するサンプルコード)があります。

7
Adam Rosenfield
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));
6
Andrew Grant

それは一般的に少し厄介で簡単ではありません。このツールを試してください:

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

3
notnot