From: <da...@us...> - 2006-10-06 21:05:05
|
Revision: 59 http://svn.sourceforge.net/freepv/?rev=59&view=rev Author: dangelo Date: 2006-10-06 14:04:53 -0700 (Fri, 06 Oct 2006) Log Message: ----------- limit pitch to -90..90 Modified Paths: -------------- freepv/trunk/src/libfreepv/Controller.h freepv/trunk/src/libfreepv/OpenGLRenderer.cpp freepv/trunk/src/libfreepv/Scene.cpp Modified: freepv/trunk/src/libfreepv/Controller.h =================================================================== --- freepv/trunk/src/libfreepv/Controller.h 2006-10-06 20:54:14 UTC (rev 58) +++ freepv/trunk/src/libfreepv/Controller.h 2006-10-06 21:04:53 UTC (rev 59) @@ -59,8 +59,8 @@ if (mouse.modifiers & BUTTON1_MASK) { Point2D diff = mouse.pos - m_mouseDownPoint; // calculate speed in degree/s - m_yawSpeed = (float)diff.y/100.0f * m_scene->getCamera()->fov; - m_pitchSpeed = (float)diff.x/100.0f * m_scene->getCamera()->fov; + m_yawSpeed = (float)diff.x/200.0f * m_scene->getCamera()->fov; + m_pitchSpeed = (float)diff.y/200.0f * m_scene->getCamera()->fov; m_setYaw = true; m_setPitch = true; } @@ -74,7 +74,6 @@ // if mouse wheel was used, if (mouse.buttonNr == 4 && mouse.down) { - DEBUG_TRACE("mb 4 down"); // calculate speed in a way that if the movement would take 1/2 second, // the visible horizontal length of the image is half of what it is now m_fovSpeed = 2.0f*(2.0f*r2d(atan(0.5f*tan(d2r(m_scene->getCamera()->fov)/2.0f))) - m_scene->getCamera()->fov); Modified: freepv/trunk/src/libfreepv/OpenGLRenderer.cpp =================================================================== --- freepv/trunk/src/libfreepv/OpenGLRenderer.cpp 2006-10-06 20:54:14 UTC (rev 58) +++ freepv/trunk/src/libfreepv/OpenGLRenderer.cpp 2006-10-06 21:04:53 UTC (rev 59) @@ -347,8 +347,8 @@ glLoadIdentity(); - glRotatef(scene.getCamera()->yaw, 1.0f, 0.0f, 0.0f); /* rotate on the X axis */ - glRotatef(scene.getCamera()->pitch, 0.0f, 1.0f, 0.0f); /* rotate on the Y axis */ + glRotatef(scene.getCamera()->pitch, 1.0f, 0.0f, 0.0f); /* rotate on the X axis */ + glRotatef(scene.getCamera()->yaw, 0.0f, 1.0f, 0.0f); /* rotate on the Y axis */ { // render all PanoElements Modified: freepv/trunk/src/libfreepv/Scene.cpp =================================================================== --- freepv/trunk/src/libfreepv/Scene.cpp 2006-10-06 20:54:14 UTC (rev 58) +++ freepv/trunk/src/libfreepv/Scene.cpp 2006-10-06 21:04:53 UTC (rev 59) @@ -60,6 +60,10 @@ if (fov < 1) fov = 1; + if (pitch > 90) pitch = 90; + if (pitch < -90) pitch = -90; + + // TODO: make the decay independent of the update time yaw_speed *= m_angleDecay; pitch_speed *= m_angleDecay; fov_speed *= m_fovDecay; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |