diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-03-08 01:25:49 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-03-08 02:09:04 +0300 |
commit | 70fa15d1b84b1ee93f4dd200bbb4bb5f8d02371b (patch) | |
tree | 17070c0af5ce8497d23fb2f04950eef1af5f100a /source/blender/draw/engines/eevee/eevee_lights.c | |
parent | 45ec962f68f834bb662e4e25e770f8aa61891e6b (diff) |
Eevee: Save and reset matrixstate for probe rendering.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_lights.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_lights.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_lights.c b/source/blender/draw/engines/eevee/eevee_lights.c index 1f4aba5466c..b4afb8bb555 100644 --- a/source/blender/draw/engines/eevee/eevee_lights.c +++ b/source/blender/draw/engines/eevee/eevee_lights.c @@ -722,10 +722,10 @@ static void eevee_shadow_cascade_setup(Object *ob, EEVEE_LampsInfo *linfo, EEVEE /* obmat = Object Space > World Space */ /* viewmat = World Space > View Space */ - invert_m4_m4(sh_data->clipmat[DRW_MAT_VIEW], ob->obmat); - viewmat = sh_data->clipmat[DRW_MAT_VIEW]; + invert_m4_m4(sh_data->clipmat.mat[DRW_MAT_VIEW], ob->obmat); + viewmat = sh_data->clipmat.mat[DRW_MAT_VIEW]; normalize_m4(viewmat); - invert_m4_m4(sh_data->clipmat[DRW_MAT_VIEWINV], viewmat); + invert_m4_m4(sh_data->clipmat.mat[DRW_MAT_VIEWINV], viewmat); /* The technique consists into splitting * the view frustum into several sub-frustum @@ -887,13 +887,13 @@ static void eevee_shadow_cascade_setup(Object *ob, EEVEE_LampsInfo *linfo, EEVEE } /* Clipping mats */ - orthographic_m4(sh_data->clipmat[DRW_MAT_WIN], + orthographic_m4(sh_data->clipmat.mat[DRW_MAT_WIN], rect_clip.xmin, rect_clip.xmax, rect_clip.ymin, rect_clip.ymax, la->clipsta, la->clipend); - mul_m4_m4m4(sh_data->clipmat[DRW_MAT_PERS], sh_data->clipmat[DRW_MAT_WIN], viewmat); - invert_m4_m4(sh_data->clipmat[DRW_MAT_WININV], sh_data->clipmat[DRW_MAT_WIN]); - invert_m4_m4(sh_data->clipmat[DRW_MAT_PERSINV], sh_data->clipmat[DRW_MAT_PERS]); + mul_m4_m4m4(sh_data->clipmat.mat[DRW_MAT_PERS], sh_data->clipmat.mat[DRW_MAT_WIN], viewmat); + invert_m4_m4(sh_data->clipmat.mat[DRW_MAT_WININV], sh_data->clipmat.mat[DRW_MAT_WIN]); + invert_m4_m4(sh_data->clipmat.mat[DRW_MAT_PERSINV], sh_data->clipmat.mat[DRW_MAT_PERS]); ubo_data->bias = 0.05f * la->bias; ubo_data->near = la->clipsta; @@ -1024,7 +1024,7 @@ static void eevee_shadows_cube_culling_frustum(EEVEE_ShadowRender *srd) static void eevee_shadows_cascade_culling_frustum(EEVEE_ShadowCascadeData *evscd) { - DRW_viewport_matrix_override_set_all((DRWMatrixState *)evscd->clipmat); + DRW_viewport_matrix_override_set_all(&evscd->clipmat); } /* this refresh lamps shadow buffers */ |