From cbe1aa264b15c345870500646003c777e4bdef03 Mon Sep 17 00:00:00 2001 From: Ash Tyndall Date: Sat, 22 Oct 2011 14:03:28 +0800 Subject: [PATCH 1/1] --- globals.c | 2 +- scene.c | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/globals.c b/globals.c index 90ce525..c39feec 100644 --- a/globals.c +++ b/globals.c @@ -92,7 +92,7 @@ GLfloat emission[] = {0.0, 0.3, 0.3, 1.0}; /* Zoom and rotate tracking */ GLfloat zoom = 0.0, rotate = 0.0, camAngle = 40.0; GLfloat zoomFactor = 0.2, camRotateFactor = 0.5, camAngleFactor = 0.5; -GLfloat leftrightFactor = 0.5, nearfarFactor = 0.5, bigsmallFactor = 0.6, updownFactor = 0.03, rotateFactor = 0.8, texscaleFactor = 0.2; +GLfloat leftrightFactor = 0.1, nearfarFactor = 0.1, bigsmallFactor = 0.6, updownFactor = 0.03, rotateFactor = 0.8, texscaleFactor = 0.2; /* Beginning width, height */ int width = 750, height = 750; diff --git a/scene.c b/scene.c index 90da255..57803e5 100644 --- a/scene.c +++ b/scene.c @@ -305,16 +305,9 @@ void motion(int x, int y) { if ( buttonSelected == GLUT_LEFT_BUTTON ) { // w: left/right, h: near/far - - // **NOTE: Currently a work in progress, does not work correctly float angler = 2 * M_PI * ( (rotate*camRotateFactor)/360.0 ); - printf("cam angle: %f\n", rotate*camRotateFactor); - - sceneObjs[curObject].x += diffx * cos(angler) * 1.0 + diffy * cos(M_PI/2 + angler) * 0.1; - sceneObjs[curObject].z += diffx * sin(angler) * 1.0 + diffy * sin(M_PI/2 + angler) * 0.1; - - //sceneObjs[curObject].x += ; - //sceneObjs[curObject].z += ; + sceneObjs[curObject].x += diffx * cos(angler) * leftrightFactor + diffy * cos(M_PI/2 + angler) * nearfarFactor; + sceneObjs[curObject].z += diffx * sin(angler) * leftrightFactor + diffy * sin(M_PI/2 + angler) * nearfarFactor; } else if ( buttonSelected == GLUT_MIDDLE_BUTTON ) { // w: big/small -- 2.20.1