diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-09-07 06:29:52 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-09-18 09:40:55 +0300 |
commit | 247b68476bdbc2ca12c3c8ead25247107503e835 (patch) | |
tree | ac0c7555f4a1b27d801b3db2f5db7b739f98742f /intern | |
parent | f1422c40af7527141ab348ad2522d7d2435ccb1c (diff) |
Cycles: simplify logic for calculating dof-dist
Matches change from BKE_camera
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_camera.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp index 0a79bfbf793..1cc601ce148 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) |