저는 2D로 도형을 그리려고합니다. gluProject를 사용하여 3D와 2D 좌표간에 변환하려고합니다. 기본적으로 내 목표는 (200,200)에 점을 그리는 것이며 점은 적절하게 그려집니다 (시작 위치가 0,0,0 인 경우).gluProject가 잘못된 좌표를 부여했습니다
이 같은 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). 내가해야하는 것보다 다른 행렬을 곱해서 그런 것 같아요. 어떤 충고?
'modelView','projection' 및'viewport'를 출력하고 그 값이 의미가 있는지 확인하십시오. 또한 glGetError를 사용하여 OpenGL 오류를 확인하십시오. – Thomas