1
안녕하세요 every1 나는 gluUnproject를 사용하는 방법에 대한 게시물을 많이 읽었으며 ive는 기본적으로 그 일을 처리했다고 생각합니다. 하지만 내 문제는 이것입니다. .. ive는 비행기 1 대를 가지고 거기에 클릭하면 아무 문제가 없습니다. 내 객체가 거기에 가면 바깥을 클릭하면 내 물건이 사라집니다. 왜 이런 일을하는지, 어떻게 해결할 수 있습니까? ? 이것은 gluUnproject 질문/움직이는 문자 질문
GetOGLPos(float x, float y)
{
GLint viewport[4];
GLfloat depth[2];
GLdouble modelview[16];
GLdouble projection[16];
GLfloat winX, winY, winZ;
GLdouble posX, posY, posZ;
glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
glGetDoublev(GL_PROJECTION_MATRIX, projection);
glGetIntegerv(GL_VIEWPORT, viewport);
winX = (float)x;
winY = (float)viewport[3] - (float)y;
glReadPixels(x, int(winY), 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, depth);
gluUnProject(winX, winY, depth[0], modelview, projection, viewport, &posX, &posY, &posZ);
std::cout<< posX<<" "<<posZ<<std::endl;
PosP.x = posX;
PosP.z = posZ;
PosP.y = 20.0f;
}
gluUnproject
의 제 기능입니다 메신저 단지 개체가 진행되고 POSP가 벡터입니다 알고 값을 인쇄 및 메신저 필자의 그런 어떤 물리 또는 아무것도 없어 (그것을 그 변수를 전달 내 캐릭터를 이동 이 프로젝트 btw)
그래서 기본적으로 u는 Z를 확인하고 내 비행기가 어디에서 끝나는 지 확인하므로 해당 위치가 표시되지 않거나 동일한 위치를 유지하지 않는 경우를 의미합니다. – Makenshi
예, 그게 좋은 생각입니다. –