void Camera::moveKeyboard() { // you may change key controls for the interactive // camera controls here, make sure you document your changes // in your README file if (Fl::event_key('w')) moveForward(+0.05); if (Fl::event_key('s')) moveForward(-0.05); if (Fl::event_key('a')) moveSideways(-0.05); if (Fl::event_key('d')) moveSideways(+0.05); if (Fl::event_key(FL_Up)) moveVertical(+0.05); if (Fl::event_key(FL_Down)) moveVertical(-0.05); if (Fl::event_key(FL_Left)) rotateYaw(+0.05); if (Fl::event_key(FL_Right)) rotateYaw(-0.05); if (Fl::event_key(FL_Page_Up)) rotatePitch(+0.05); if (Fl::event_key(FL_Page_Down)) rotatePitch(-0.05); }
void Camera::setViewByMouse(int x, int y, float dt) { float angleY = dt * static_cast<float>(x) * 2; float angleZ = dt * static_cast<float>(y) * 2; rotatePitch(-angleZ * dt); rotate(-angleY * dt, glm::vec3(0.0, 1.0, 0.0)); }