[Bf-blender-cvs] [247b684] master: Cycles: simplify logic for calculating dof-dist
Campbell Barton
noreply at git.blender.org
Fri Sep 18 12:03:43 CEST 2015
Commit: 247b68476bdbc2ca12c3c8ead25247107503e835
Author: Campbell Barton
Date: Mon Sep 7 13:29:52 2015 +1000
Branches: master
https://developer.blender.org/rB247b68476bdbc2ca12c3c8ead25247107503e835
Cycles: simplify logic for calculating dof-dist
Matches change from BKE_camera
===================================================================
M intern/cycles/blender/blender_camera.cpp
===================================================================
diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index 0a79bfb..1cc601c 100644
--- a/intern/cycles/blender/blender_camera.cpp
+++ b/intern/cycles/blender/blender_camera.cpp
@@ -107,9 +107,9 @@ static float blender_camera_focal_distance(BL::RenderEngine b_engine, BL::Object
b_engine.camera_model_matrix(b_ob, b_ob_matrix);
Transform obmat = get_transform(b_ob_matrix);
Transform dofmat = get_transform(b_dof_object.matrix_world());
- Transform mat = transform_inverse(obmat) * dofmat;
-
- return fabsf(transform_get_column(&mat, 3).z);
+ float3 view_dir = normalize(transform_get_column(&obmat, 2));
+ float3 dof_dir = transform_get_column(&obmat, 3) - transform_get_column(&dofmat, 3);
+ return fabsf(dot(view_dir, dof_dir));
}
static void blender_camera_from_object(BlenderCamera *bcam, BL::RenderEngine b_engine, BL::Object b_ob, bool skip_panorama = false)
More information about the Bf-blender-cvs
mailing list