diff options
author | Stijn Buys <ingar@osirion.org> | 2008-07-20 17:37:03 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-07-20 17:37:03 +0000 |
commit | 8ad20ed0462227463a5e3b94683d8c1c5a650494 (patch) | |
tree | b328fa70ba7b45e3dccb7de54cb5b43c68624cde /src/render/camera.cc | |
parent | ed36610840d6b845a7ac9706502c447a5b773b31 (diff) |
targetting
Diffstat (limited to 'src/render/camera.cc')
-rw-r--r-- | src/render/camera.cc | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/render/camera.cc b/src/render/camera.cc index 8fe84a7..507a81f 100644 --- a/src/render/camera.cc +++ b/src/render/camera.cc @@ -173,19 +173,9 @@ void Camera::frame(float seconds) if (mode() == Overview) set_mode(Track); - if (core::localcontrol()->state()) { - camera_target.assign(core::localcontrol()->state()->location()); - target_axis.assign(core::localcontrol()->state()->axis()); - } else { - camera_target.assign(core::localcontrol()->location()); - target_axis.assign(core::localcontrol()->axis()); - } - - if (core::localcontrol()->model()) { - distance = core::localcontrol()->model()->radius(); - } else { - distance = 1.0f; - } + camera_target.assign(core::localcontrol()->state()->location()); + target_axis.assign(core::localcontrol()->state()->axis()); + distance = core::localcontrol()->radius(); if (mode() == Track) { float cosangle; @@ -326,12 +316,14 @@ void Camera::draw() math::Matrix4f matrix; matrix.assign(camera_axis); gl::multmatrix(matrix.transpose()); - +/* // match the camera with the current target gl::translate(-1.0f * camera_target); // apply camera offset gl::translate(distance * camera_axis.forward()); +*/ + gl::translate(-1.0f * camera_eye); } void Camera::set_direction(float direction) |