diff options
Diffstat (limited to 'src/render/renderext.cc')
-rw-r--r-- | src/render/renderext.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/render/renderext.cc b/src/render/renderext.cc index c66f036..c311be9 100644 --- a/src/render/renderext.cc +++ b/src/render/renderext.cc @@ -103,7 +103,11 @@ RenderExt::~RenderExt() void RenderExt::frame(float elapsed) { - state_distance = math::distance(Camera::eye(), entity()->location()); +} + +void RenderExt::frame(float elapsed, const Camera & camera) +{ + state_distance = math::distance(camera.location(), entity()->location()); state_visible = entity()->visible(); state_detailvisible = false; @@ -139,7 +143,7 @@ void RenderExt::frame(float elapsed) return; } - if ((controlable == core::localcontrol()) && (Camera::mode() == Camera::Cockpit)) { + if ((controlable == core::localcontrol()) && (camera.mode() == camera.Cockpit)) { state_visible = false; return; } @@ -233,7 +237,7 @@ void RenderExt::frame(float elapsed) } } - if (math::dotproduct(Camera::axis().forward(), entity()->location() + Camera::axis().forward() * entity()->radius() - Camera::eye()) < 0.0f) { + if (math::dotproduct(camera.axis().forward(), entity()->location() + camera.axis().forward() * entity()->radius() - camera.location()) < 0.0f) { state_behind = true; } } |