From 0f87d2fd05786f7ab128d4a041673f6fb085139f Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 1 Jun 2008 14:56:22 +0000 Subject: moved camera into render:: --- src/render/draw.cc | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) (limited to 'src/render/draw.cc') diff --git a/src/render/draw.cc b/src/render/draw.cc index cb16b89..f3df6c0 100644 --- a/src/render/draw.cc +++ b/src/render/draw.cc @@ -38,10 +38,6 @@ math::Vector3f v7(-1, -1, -1); const float drawdistance = 128.0f; const float drawfxdistance = 32.0f; -math::Vector3f camera_target; -math::Vector3f camera_eye; -math::Axis camera_axis; - float angle = 0; // function to test flags @@ -266,7 +262,7 @@ void pass_prepare(float seconds) if (entity->model()) { entity->state()->state_visible = false; - float dq = math::distancesquared(camera_eye, entity->location()); + float dq = math::distancesquared(Camera::eye(), entity->location()); if (dq <= drawfxdistance*drawfxdistance*entity->model()->radius()) { // entites within drawing distance @@ -487,13 +483,13 @@ void draw_pass_model_fx() gl::color(color); glTexCoord2f(0,1); - gl::vertex(location + (camera_axis.up() - camera_axis.left()) * light_size); + gl::vertex(location + (Camera::axis().up() - Camera::axis().left()) * light_size); glTexCoord2f(0,0); - gl::vertex(location + (camera_axis.up() + camera_axis.left()) * light_size); + gl::vertex(location + (Camera::axis().up() + Camera::axis().left()) * light_size); glTexCoord2f(1,0); - gl::vertex(location + (camera_axis.up() * -1 + camera_axis.left()) * light_size); + gl::vertex(location + (Camera::axis().up() * -1 + Camera::axis().left()) * light_size); glTexCoord2f(1,1); - gl::vertex(location + (camera_axis.up() * -1 - camera_axis.left()) * light_size); + gl::vertex(location + (Camera::axis().up() * -1 - Camera::axis().left()) * light_size); Stats::quads++; @@ -531,7 +527,7 @@ void draw_pass_model_fx() color.assign(flare->color()); } - float a = dotproduct(flare_axis.forward(), camera_axis.forward()); + float a = dotproduct(flare_axis.forward(), Camera::axis().forward()); if (a < -0.1f) { color.a = -a - 0.1f; gl::color(color); @@ -621,11 +617,11 @@ void draw_pass_spacegrid() float s = 1.0f / gridsize; float z = -4.0f; - float dx = camera_target.x - floorf(camera_target.x); - float dy = camera_target.y - floorf(camera_target.y); + float dx = Camera::target().x - floorf(Camera::target().x); + float dy = Camera::target().y - floorf(Camera::target().y); gl::push(); - gl::translate(camera_target); + gl::translate(Camera::target()); gl::color(0,0, 1.0f); gl::normal(0, 0, 1.0f); @@ -653,7 +649,7 @@ void draw_pass_spacegrid() /* ----- Main draw routine ----------------------------------------- */ -void draw(math::Axis const &axis, math::Vector3f const &eye, math::Vector3f const &target, float seconds) +void draw(float seconds) { Stats::clear(); @@ -662,10 +658,8 @@ void draw(math::Axis const &axis, math::Vector3f const &eye, math::Vector3f cons if( angle > 360.0f ) { angle -= 360.0f; } - - camera_target.assign(target); - camera_eye.assign(eye); - camera_axis.assign(axis); + + Camera::draw(seconds); // draw the current camera transformation pass_prepare(seconds); -- cgit v1.2.3