質問
簡単なことを書いています OpenGL
を使用するアプリケーション GLUT
. 。独自のフォント レンダリング コードを使用したくなく、代わりに付属のシンプルなビットマップ フォントを使用したいと考えています。 GLUT
. 。それらを機能させるにはどのような手順を踏めばよいでしょうか?
解決
GLUT ビットマップ フォントを使用すると、OpenGL で簡単なテキスト表示を行うことができます。これらはシンプルな 2D フォントであり、 ない ディスプレイに適した 内部 あなたの 3D 環境。ただし、表示ウィンドウにオーバーレイする必要があるテキストには最適です。
Eric Cartman のお気に入りの引用を GLUT ウィンドウに緑色で表示するサンプル手順を次に示します。
ラスター位置を画面座標で設定します。したがって、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);
フォントを設定し、文字列文字を表示します。 グルビットマップ文字.
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();
所属していません StackOverflow