2D で形状を描画しようとしています。gluProject を使用して 3D 座標と 2D 座標を変換しようとしています。基本的に、私の目標は (200,200) にポイントを描画することであり、ポイントは適切に描画されます (開始位置が 0,0,0 の場合)。
私はこのようにgluProjectを初期化しました -
GLdouble modelView[16];
GLdouble projection[16];
GLint viewport[4];
glGetDoublev(GL_MODELVIEW_MATRIX,modelView);
glGetDoublev(GL_PROJECTION_MATRIX,projection);
glGetIntegerv(GL_VIEWPORT,viewport);
そして、私はこのようなアニメーションメソッドでそれを呼び出しています
double tx, ty, tz;
gluProject(0.0,0.0,0.0,modelView,projection,viewport,&tx,&ty,&tz);
cout<<"tx,ty,tz: "<<tx<<","<<ty<<","<<tz<<endl;
私が得た値は変です (-9e61、-9e61、-9e61)。本来あるべき行列とは異なる行列を掛けているためだと思います。何かアドバイス?