我想在按住鼠标左键的同时在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