diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-05-22 17:09:03 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-05-22 17:09:10 +0300 |
commit | 8b52619ff82279e1e97785e2352ed9f4782a3741 (patch) | |
tree | b6bbad522e460c5fa7a83d9c7ca0e2780ac0e61f /source/blender/draw/intern/draw_manager_data.c | |
parent | d10bab71602634ff1ca5ed97fbd4ba9f3964cdc5 (diff) |
DRW/Eevee: Fix camera texture coordinates in renders
This patch fix the issue introduced by recent refactor and fixes
computation when using overscans.
Diffstat (limited to 'source/blender/draw/intern/draw_manager_data.c')
-rw-r--r-- | source/blender/draw/intern/draw_manager_data.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c index d0480108920..70f7d28d551 100644 --- a/source/blender/draw/intern/draw_manager_data.c +++ b/source/blender/draw/intern/draw_manager_data.c @@ -874,8 +874,6 @@ static void drw_shgroup_init(DRWShadingGroup *shgroup, GPUShader *shader) drw_shgroup_builtin_uniform(shgroup, GPU_UNIFORM_VIEWPROJECTION_INV, storage->persinv, 16, 1); drw_shgroup_builtin_uniform(shgroup, GPU_UNIFORM_PROJECTION, storage->winmat, 16, 1); drw_shgroup_builtin_uniform(shgroup, GPU_UNIFORM_PROJECTION_INV, storage->wininv, 16, 1); - drw_shgroup_builtin_uniform( - shgroup, GPU_UNIFORM_CAMERATEXCO, DST.view_storage_cpy.viewcamtexcofac, 4, 1); } /* Not supported. */ @@ -1327,10 +1325,7 @@ DRWView *DRW_view_create(const float viewmat[4][4], view->visibility_fn = visibility_fn; view->parent = NULL; - /* TODO move elsewhere */ - if (DST.view_default) { - copy_v4_v4(view->storage.viewcamtexcofac, DST.view_default->storage.viewcamtexcofac); - } + copy_v4_fl4(view->storage.viewcamtexcofac, 1.0f, 1.0f, 0.0f, 0.0f); DRW_view_update(view, viewmat, winmat, culling_viewmat, culling_winmat); @@ -1350,11 +1345,6 @@ DRWView *DRW_view_create_sub(const DRWView *parent_view, *view = *parent_view; view->parent = (DRWView *)parent_view; - /* TODO move elsewhere */ - if (DST.view_default) { - copy_v4_v4(view->storage.viewcamtexcofac, DST.view_default->storage.viewcamtexcofac); - } - DRW_view_update_sub(view, viewmat, winmat); return view; @@ -1471,6 +1461,11 @@ void DRW_view_clip_planes_set(DRWView *view, float (*planes)[4], int plane_len) } } +void DRW_view_camtexco_set(DRWView *view, float texco[4]) +{ + copy_v4_v4(view->storage.viewcamtexcofac, texco); +} + /* Return world space frustum corners. */ void DRW_view_frustum_corners_get(const DRWView *view, BoundBox *corners) { |