diff options
Diffstat (limited to 'intern/cycles/render/camera.cpp')
-rw-r--r-- | intern/cycles/render/camera.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/intern/cycles/render/camera.cpp b/intern/cycles/render/camera.cpp index 028916c1b8f..ad96473e5d2 100644 --- a/intern/cycles/render/camera.cpp +++ b/intern/cycles/render/camera.cpp @@ -323,6 +323,7 @@ void Camera::device_update(Device *device, DeviceScene *dscene, Scene *scene) #ifdef __CAMERA_MOTION__ kcam->shuttertime = (need_motion == Scene::MOTION_BLUR) ? shuttertime: -1.0f; + scene->lookup_tables->remove_table(&shutter_table_offset); if(need_motion == Scene::MOTION_BLUR) { vector<float> shutter_table; util_cdf_inverted(SHUTTER_TABLE_SIZE, @@ -335,10 +336,6 @@ void Camera::device_update(Device *device, DeviceScene *dscene, Scene *scene) shutter_table); kcam->shutter_table_offset = (int)shutter_table_offset; } - else if(shutter_table_offset != TABLE_OFFSET_INVALID) { - scene->lookup_tables->remove_table(shutter_table_offset); - shutter_table_offset = TABLE_OFFSET_INVALID; - } #else kcam->shuttertime = -1.0f; #endif @@ -425,10 +422,7 @@ void Camera::device_free(Device * /*device*/, DeviceScene * /*dscene*/, Scene *scene) { - if(shutter_table_offset != TABLE_OFFSET_INVALID) { - scene->lookup_tables->remove_table(shutter_table_offset); - shutter_table_offset = TABLE_OFFSET_INVALID; - } + scene->lookup_tables->remove_table(&shutter_table_offset); } bool Camera::modified(const Camera& cam) |