Я пытаюсь изучить основы opengl Glut, и я следую руководству сайта.Движение мыши с перенасыщением
Я не могу понять, как я могу перемещать камеру в пространстве, а не только по двум ординатам.
Не могли бы вы мне помочь?
Я использую функцию glutPassiveMotionFunc (mouseMove).
//MOUSE MOVEMENT----------------------------------------------------------
void mouseMove(int x, int y) {
xOrigin = x;
// this will only be true when the left button is down
if (xOrigin >= 0) {
// update deltaAngle
deltaAngle = (x - xOrigin) * 0.001f;
// update camera's direction
lx = x + sin(angle + deltaAngle);
lz = y - cos(angle + deltaAngle);
}
else{
deltaAngle = (x + xOrigin) * 0.001f;
// update camera's direction
lx = x + sin(angle + deltaAngle);
lz = y - cos(angle + deltaAngle);
}
}