ようにthis質問状態 - 私は、画面上のレンダリングに関連する座標にクリック(2D)を変換したい。私は関数glutMouseFunc
(下)私の関数にバインドされているが、渡されるxとyの意味をすることはできません - 彼らは左上隅からピクセルの距離に関連しているようです。私は世界に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