C言語+GLUT(テキストの表示)

今回はカーソルの置き換えをします。
文字’+’を画面にテキスト表示することで、カーソルに見立ててみます。

テキスト表示するには、
glRasterPos3d(x,y,z)で座標を決めて、
glutBitmapCharacter(フォント, 文字)で、フォントと文字を指定すれば良いです。

今はこのように、立方体を遠くに描画するだけのカーソル処理になっているので、

void cb_set_cursor()
{
        GLdouble v[3];

        v[0] = cb_player_pos.x + 40 * cos((double)cb_player_pos.dir*M_PI/180.0),
        v[1] = cb_player_pos.y - 5,
        v[2] = cb_player_pos.z + 40 * sin((double)cb_player_pos.dir_v*M_PI/180.0),
        cb_set_cube(v);
}

これを下のように修正します。

void cb_set_cursor()
{
	GLdouble x,y,z;
        x = cb_player_pos.x + 2 * cos((double)cb_player_pos.dir*M_PI/180.0),
        y = 2+cb_player_pos.y + 2 * sin((double)cb_player_pos.dir_v*M_PI/180
        z = cb_player_pos.z + 2 * sin((double)cb_player_pos.dir*M_PI/180.0),
	glRasterPos3d(x,y,z);
	glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, '+');
}

中央に+記号が表示されました。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA