Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-07-22 04:26:34 +0400
committerKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-07-22 04:26:34 +0400
commitb453cd0715014b3645d1913ac8a1130d86e97e21 (patch)
tree9611c34bce76c0ad0d3fb80b20684e5c23d1844f /source/gameengine/Ketsji/KX_CameraIpoSGController.cpp
parent6ce57a706f08d431ab9f8586e106ae545ba861ac (diff)
Fix bug #1460: Camera IPOs Broken (Gameengine)
The camera IPO was not invalidating the cached projection matrix.
Diffstat (limited to 'source/gameengine/Ketsji/KX_CameraIpoSGController.cpp')
-rw-r--r--source/gameengine/Ketsji/KX_CameraIpoSGController.cpp17
1 files changed, 7 insertions, 10 deletions
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;
}