Рисование объектов одним щелчком мыши с использованием двух видовых экранов в OpenGL

Я пытаюсь визуализировать многоугольник по щелчку мыши в моей программе opengl, но у меня проблемы с этим. В основном это работает, когда я использую один видовой экран, но когда я пытаюсь поместить два видовых экрана, квадрат больше не появляется в правильном положении. Функция мыши, которая вычисляет правильную позицию — это GMouse выше.

void GMouse(int button, int state, int x, int y){

if (button == GLUT_LEFT_BUTTON)
if (state == GLUT_DOWN) { // Zoom-in
y=250-y;
m=1;
posX=x;
posY=y;
}
if (button == GLUT_RIGHT_BUTTON)
if (state == GLUT_DOWN) { // Zoom-out
if (angle <= 130) angle += 5;
}

visao();
glutPostRedisplay();
}

Я использую y = 250-y, потому что ширина области просмотра равна 250, но размер окна равен (500 500), а InitWindowPosition равно (0,0), как указано в функции view () выше.

void view(){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
defineIluminacao();
glMatrixMode(GL_VIEWPORT);
glViewport(0,100,250,250);
visao();
display();
glViewport(300,0,200,200);
visao2();
glTranslatef(-30.0f, 0.0f, 50.0f);
glRotated(90.0f, 0.0f, 1.0f, 0.0f);
display();
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]