今回はカーソルの置き換えをします。
文字’+’を画面にテキスト表示することで、カーソルに見立ててみます。
テキスト表示するには、
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, '+'); }
中央に+記号が表示されました。
コメント