我想在按住鼠標左鍵的同時在openGL中移動圖像。 我不是試圖拖動一個物體,只是移動整個圖片。它是一個分形的二維圖,我被告知我可以使用gluortho2d,但我找不到任何信息或類似的嘗試如何做到這一點。 我假設像用鼠標在openGL中移動繪圖
void mouse_callback_func(int button, int state, int x, int y)
{
if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
gluOrtho2D(x-250.0, x+250.0, y-250.0,y+250.);
glutPostRedisplay();
}
爲500×500的窗口,但它不工作。我離開的那一刻,窗口一片空白。 任何想法?
可能有一個溢出和圖片出去屏?雖然我不知道答案,但這應該有助於您調試問題。在mouse_callback_func()中的提示符上打印x和y的值。 一旦你得到這個值,用gluOrtho2D替換它們(x-250.0,x + 250.0,y-250.0,y + 250)。並正常渲染圖像(現在不要使用鼠標)。檢查畫面是否正確顯示在屏幕上。我認爲它不會,然後你可以嘗試減少/增加值來檢查將呈現給你的視口的x/y值的範圍。 – viktorzeid
你最初的預測是什麼? – jozxyqk
我嘗試過,但它沒有奏效。我甚至低至x-1,x + 1,y-1,y + 1看看會發生什麼,仍然屏幕變空白 – Deadalus