마찬가지로 this 질문 상태 - 화면의 렌더링과 관련된 좌표로 클릭 (2D)을 변환하고 싶습니다. 나는 아래 함수 (아래)에 바인딩 된 glutMouseFunc
함수를 가지고 있지만 전달 된 x와 y를 이해할 수는 없습니다. 왼쪽 상단의 픽셀 거리와 관련이있는 것처럼 보입니다.openGL 2D 마우스 클릭 위치
이 을 조정 : 윈도우 시스템에서
void mouse(int button, int state, int x, int y) {
switch(button) {
case GLUT_LEFT_BUTTON:
printf(" LEFT ");
if (state == GLUT_DOWN) {
printf("DOWN\n");
printf("(%d, %d)\n", x, y);
}
else
if (state == GLUT_UP) {
printf("UP\n");
}
break;
default:
break;
}
fflush(stdout); // Force output to stdout
}
가능한 중복 glUnProject] (http://stackoverflow.com/questions/6464232/how-do-i-calculate-the-touch-on-opengl-using-glunproject) – datenwolf
그 중 하나는 Objective C ...이고 거기에 구체적인 대답 - 나는이 답변을 C 언어로 다른 사람들에게 도움이 될 것이라고 생각한다. 사용중인 플랫폼 : – Wallter
@Walter :이 언어는 아무런 차이가 없습니다. OpenGL 자체는 입력 이벤트를 실제로 처리하는 것과 관련이 없으며 사용 된 프레임 워크의 작업입니다. 일반화 된 답변은 모든 프레임 워크를 고려해야합니다. 나는 그것을 가능한 가장 일반적인 방법으로 대답했다. 또한 질문 자체의 코드 (gluUnproject)는 일반 C에서도 작동합니다. – datenwolf