我有一個1000x1000像素的屏幕尺寸,我試圖獲得opengl座標。我明白了OpenGL的座標系如下:將Glut鼠標座標轉換爲opengl
(-1,1) | (1,1)
|
--------(0,0)-------
|
|
(-1,-1) | (1,-1)
void mouse(int btn, int state, int x, int y){
float mx = x ;
float my = y ;
ox = (mx/1000 -0.5);
oy = -(my/1000 -0.5);
switch(btn){
case GLUT_LEFT_BUTTON:
if(state==GLUT_DOWN){
printf("%f\n",mx);
printf("%f\n",my);
//p1->setPoint(x, y, 1.0);
}
break;
}
};
我的窗口分辨率1000×1000作爲。目前的行爲跟蹤鼠標,但不完全。它靠近鼠標,在接近0,0時更精確。我認爲我必須將-0.5更改爲-1,但最終會翻轉所有內容。
加入1-完全抵消和倒過來我 –
除以500而不是1000 –
謝謝我剛把它和2相乘。 –