diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-24 18:34:26 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-24 18:46:11 +0300 |
commit | 15bae8ac0050a50904ac4f90e85e4463463b3c5d (patch) | |
tree | 7bf58999cb513c4c6099862fd6314a451f07a105 /source/blender/render | |
parent | 820d1b249df239b8ec1161ea3fb3f99fb62c9f49 (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/render')
-rw-r--r-- | source/blender/render/extern/include/RE_pipeline.h | 1 | ||||
-rw-r--r-- | source/blender/render/intern/include/render_types.h | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 34 |
3 files changed, 0 insertions, 37 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index be7bf4f454b..bde767dc99e 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -257,7 +257,6 @@ void RE_SetOrtho(struct Render *re, const rctf *viewplane, float clipsta, float void RE_SetView(struct Render *re, float mat[4][4]); /* get current view and window transform */ -void RE_GetView(struct Render *re, float mat[4][4]); void RE_GetViewPlane(struct Render *re, rctf *r_viewplane, rcti *r_disprect); /* set the render threads based on the commandline and autothreads setting */ diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index 0f42fff94fe..e5689dfff74 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -103,8 +103,6 @@ struct Render { int partx, party; /* Camera transform, only used by Freestyle. */ - float viewmat[4][4], viewinv[4][4]; - float viewmat_orig[4][4]; /* for incremental render */ float winmat[4][4]; /* clippping */ diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 8b815539d22..6e6bbe6332d 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -966,13 +966,6 @@ void RE_SetOrtho(Render *re, const rctf *viewplane, float clipsta, float clipend re->viewplane.ymin, re->viewplane.ymax, re->clipsta, re->clipend); } -void RE_SetView(Render *re, float mat[4][4]) -{ - /* re->ok flag? */ - copy_m4_m4(re->viewmat, mat); - invert_m4_m4(re->viewinv, re->viewmat); -} - void RE_GetViewPlane(Render *re, rctf *r_viewplane, rcti *r_disprect) { *r_viewplane = re->viewplane; @@ -986,11 +979,6 @@ void RE_GetViewPlane(Render *re, rctf *r_viewplane, rcti *r_disprect) } } -void RE_GetView(Render *re, float mat[4][4]) -{ - copy_m4_m4(mat, re->viewmat); -} - /* image and movie output has to move to either imbuf or kernel */ void RE_display_init_cb(Render *re, void *handle, void (*f)(void *handle, RenderResult *rr)) { @@ -2055,28 +2043,6 @@ void RE_RenderFreestyleExternal(Render *re) for (rv = re->result->views.first; rv; rv = rv->next) { RE_SetActiveRenderView(re, rv->name); - - /* scene needs to be set to get camera */ - Object *camera = RE_GetCamera(re); - - /* if no camera, viewmat should have been set! */ - if (camera) { - /* called before but need to call again in case of lens animation from the - * above call to BKE_scene_graph_update_for_newframe, fixes bug. [#22702]. - * following calls don't depend on 'RE_SetCamera' */ - float mat[4][4]; - - RE_SetCamera(re, camera); - RE_GetCameraModelMatrix(re, camera, mat); - invert_m4(mat); - RE_SetView(re, mat); - - /* force correct matrix for scaled cameras */ - DEG_id_tag_update_ex(re->main, &camera->id, ID_RECALC_TRANSFORM); - } - - printf("add freestyle\n"); - add_freestyle(re, 1); } } |