From b453cd0715014b3645d1913ac8a1130d86e97e21 Mon Sep 17 00:00:00 2001 From: Kester Maddock Date: Thu, 22 Jul 2004 00:26:34 +0000 Subject: Fix bug #1460: Camera IPOs Broken (Gameengine) The camera IPO was not invalidating the cached projection matrix. --- source/gameengine/Ketsji/KX_CameraIpoSGController.cpp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'source/gameengine/Ketsji/KX_CameraIpoSGController.cpp') diff --git a/source/gameengine/Ketsji/KX_CameraIpoSGController.cpp b/source/gameengine/Ketsji/KX_CameraIpoSGController.cpp index 19f17ff32ed..425493dbe7e 100644 --- a/source/gameengine/Ketsji/KX_CameraIpoSGController.cpp +++ b/source/gameengine/Ketsji/KX_CameraIpoSGController.cpp @@ -47,24 +47,21 @@ bool KX_CameraIpoSGController::Update(double currentTime) (*i)->Execute(m_ipotime); } - RAS_CameraData* camdata; - SG_Spatial* ob = (SG_Spatial*)m_pObject; KX_Camera* kxcamera = (KX_Camera*) ob->GetSGClientObject(); - camdata = kxcamera->GetCameraData(); + RAS_CameraData* camdata = kxcamera->GetCameraData(); - - if (m_modify_lens) { + if (m_modify_lens) camdata->m_lens = m_lens; - } - if (m_modify_clipstart ) { + if (m_modify_clipstart ) camdata->m_clipstart = m_clipstart; - } - if (m_modify_clipend) { + if (m_modify_clipend) camdata->m_clipend = m_clipend; - } + + if (m_modify_lens || m_modify_clipstart || m_modify_clipend) + kxcamera->InvalidateProjectionMatrix(); m_modified=false; } -- cgit v1.2.3