[訳]GLUTチュートリアル-ビットマップフォント

2669 ワード

Lighthouse3d.com >> GLUT Tutorial >> Fonts >> Bitmap Fonts
 
ビットマップフォントは、一般的に2次元フォントである.3 Dワールドに配置しますが、これらのフォントは厚さもなく、レンダリングや測定もできません.翻訳しかできません.それ以外に、フォントはずっとレンズに向かっていて、看板のようです.これは潜在的な欠点と見なすことができるが、一方でフォントの方向の問題も考慮する必要はない.
このセクションでは、GLUT関数がビットマップテキストを画面に表示する方法について説明します.ここではglutBitmapCharacter関数を用いて文字を書き込む.プロトタイプは次のとおりです.
 
void glutBitmapCharacter(void *font, int character)
font-フォントの名前を表示
character-レンダリングする文字、記号、数字など..
 
フォント名のオプション値は次のとおりです.
GLUT_BITMAP_8_BY_13
GLUT_BITMAP_9_BY_15
GLUT_BITMAP_TIMES_ROMAN_10
GLUT_BITMAP_TIMES_ROMAN_24
GLUT_BITMAP_HELVETICA_10
GLUT_BITMAP_HELVETICA_12
GLUT_BITMAP_HELVETICA_18
 
フォント名の中にはわかりやすいものもあるので、必要なものを見つけることができますが、次の例のポップアップメニューですべてのフォントを試してみます.
次の行は、glutBitmapCharacter関数を呼び出してグリッド位置に文字を出力方法を示す.
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18,'3');

 
ここでは、本当にグリッドの位置が何なのかを重点的に議論する.グリッド位置はOpenGLライブラリのglRasterPos関数ファミリーで設定できる.2つのプロトタイプは次のとおりです.
 
void glRasterPos2f(float x, float y);void glRasterPos3f(float x, float y, float z);
x,y,z-テキストを表示するためのローカル座標
 
glutBitmapCharacter関数は、フォントを所定の位置にレンダリングする、ワード幅を利用して現在のグリッド位置を強化する.このため、1文字列をレンダリングする場合、glutBitmapCharacter関数を連続的に呼び出すだけで出力を達成することができる.次の関数は、指定したグリッド位置の先頭に文字列をレンダリングします.
void renderBitmapString(

        float x,

        float y,

        float z,

        void *font,

        char *string) {



  char *c;

  glRasterPos3f(x, y,z);

  for (c=string; *c != '\0'; c++) {

    glutBitmapCharacter(font, *c);

  }

}