[Bf-blender-cvs] [10764d31d42] blender-v2.79-release: Cycles: Fixed broken camera motion blur when motion was not set to center on frame
Stefan Werner
noreply at git.blender.org
Thu Aug 17 14:45:24 CEST 2017
Commit: 10764d31d428619d2a4c83afd977c25c1db6bb29
Author: Stefan Werner
Date: Sat Aug 12 22:04:42 2017 +0200
Branches: blender-v2.79-release
https://developer.blender.org/rB10764d31d428619d2a4c83afd977c25c1db6bb29
Cycles: Fixed broken camera motion blur when motion was not set to center on frame
Reviewers: #cycles, sergey
Reviewed By: #cycles, sergey
Subscribers: sergey
Differential Revision: https://developer.blender.org/D2787
===================================================================
M intern/cycles/blender/blender_camera.cpp
===================================================================
diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index 40d6b25f2b7..b29711d30d3 100644
--- a/intern/cycles/blender/blender_camera.cpp
+++ b/intern/cycles/blender/blender_camera.cpp
@@ -544,7 +544,11 @@ void BlenderSync::sync_camera_motion(BL::RenderSettings& b_render,
if(tfm != cam->matrix) {
VLOG(1) << "Camera " << b_ob.name() << " motion detected.";
- if(motion_time == -1.0f) {
+ if(motion_time == 0.0f) {
+ /* When motion blur is not centered in frame, cam->matrix gets reset. */
+ cam->matrix = tfm;
+ }
+ else if(motion_time == -1.0f) {
cam->motion.pre = tfm;
cam->use_motion = true;
}
@@ -573,7 +577,10 @@ void BlenderSync::sync_camera_motion(BL::RenderSettings& b_render,
float fov = 2.0f * atanf((0.5f * sensor_size) / bcam.lens / aspectratio);
if(fov != cam->fov) {
VLOG(1) << "Camera " << b_ob.name() << " FOV change detected.";
- if(motion_time == -1.0f) {
+ if(motion_time == 0.0f) {
+ cam->fov = fov;
+ }
+ else if(motion_time == -1.0f) {
cam->fov_pre = fov;
cam->use_perspective_motion = true;
}
More information about the Bf-blender-cvs
mailing list