Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-24 18:34:26 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-24 18:46:11 +0300
commit15bae8ac0050a50904ac4f90e85e4463463b3c5d (patch)
tree7bf58999cb513c4c6099862fd6314a451f07a105 /source/blender/freestyle
parent820d1b249df239b8ec1161ea3fb3f99fb62c9f49 (diff)
Fix T60095: freestyle not rendering animated camera correctly.
Replace legacy view matrix access with same one used by Eevee.
Diffstat (limited to 'source/blender/freestyle')
-rw-r--r--source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp8
1 files changed, 7 insertions, 1 deletions
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);