그래, 내가 예를 들어, 난 내 마우스가 3D 좌표를 사용하여, 현재 그 시점에 큐브를 렌더링 할 수 있도록 화면 평면에 점을 이동하려면, 다음 난에 그 위치에서 선 촬영 내 마우스가 가리키는 곳에 배치, 그래서 내 3D 세계에있는 삼각형을 칠 것이며, 내가 마우스로 해당 개체를 선택할 수있는 방법 있음. 불분명 한 것에 대한
죄송합니다 :/
-
편집 : 야호 내가 그것을 그 nehe 튜토리얼 작업있어! 덕분에, 난 그게 쉽지 않을 거란 걸 알았어!
이
지금 사용하여 코드의 메신저이며 위대한 작품 :
void GetOGLPos(int x, int y, GLdouble &posX, GLdouble &posY, GLdouble &posZ){
GLint viewport[4];
GLdouble modelview[16];
GLdouble projection[16];
GLfloat winX, winY, winZ;
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, &winZ);
gluUnProject(winX, winY, winZ, modelview, projection, viewport, &posX, &posY, &posZ);
}
에 당신이 "점의 시작 위치를 이동"무엇을 의미합니까? 점은 하나의 지점입니다. 내 요점은? ;) – ralphtheninja
귀하의 질문이 무엇인지 명확히 할 수 있습니까? 정확한 지점을 움직일 수있는 방법을 묻고 있습니까? –