From 15bae8ac0050a50904ac4f90e85e4463463b3c5d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 24 Jan 2019 16:34:26 +0100 Subject: Fix T60095: freestyle not rendering animated camera correctly. Replace legacy view matrix access with same one used by Eevee. --- .../freestyle/intern/blender_interface/BlenderFileLoader.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source/blender/freestyle') diff --git a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp index 4d77962bdfa..14f524199a2 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp +++ b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp @@ -408,9 +408,15 @@ void BlenderFileLoader::insertShapeNode(Object *ob, Mesh *me, int id) FreestyleEdge *fed = (FreestyleEdge*)CustomData_get_layer(&me->edata, CD_FREESTYLE_EDGE); FreestyleFace *ffa = (FreestyleFace*)CustomData_get_layer(&me->pdata, CD_FREESTYLE_FACE); + // Compute view matrix + Object *ob_camera_eval = DEG_get_evaluated_object(_depsgraph, RE_GetCamera(_re)); + float viewinv[4][4], viewmat[4][4]; + RE_GetCameraModelMatrix(_re, ob_camera_eval, viewinv); + invert_m4_m4(viewmat, viewinv); + // Compute matrix including camera transform float obmat[4][4], nmat[4][4]; - mul_m4_m4m4(obmat, _re->viewmat, ob->obmat); + mul_m4_m4m4(obmat, viewmat, ob->obmat); invert_m4_m4(nmat, obmat); transpose_m4(nmat); -- cgit v1.2.3