Commit: a6e6d7e0221eb46effbb65e98c471447b67a4c8c
Author: Clément Foucault
Date:   Sat Mar 3 01:48:16 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBa6e6d7e0221eb46effbb65e98c471447b67a4c8c

Eevee: More use of DRW_viewport_matrix_override_set_all

===================================================================

M       source/blender/draw/engines/eevee/eevee_lightprobes.c

===================================================================

diff --git a/source/blender/draw/engines/eevee/eevee_lightprobes.c 
b/source/blender/draw/engines/eevee/eevee_lightprobes.c
index 11eebb517e2..9e5aa56b220 100644
--- a/source/blender/draw/engines/eevee/eevee_lightprobes.c
+++ b/source/blender/draw/engines/eevee/eevee_lightprobes.c
@@ -1140,8 +1140,15 @@ static void render_scene_to_probe(
        EEVEE_StorageList *stl = vedata->stl;
        EEVEE_LightProbesInfo *pinfo = sldata->probes;
 
-       float winmat[4][4], wininv[4][4], posmat[4][4];
-
+       DRWMatrixState matstate;
+       float (*viewmat)[4] = matstate.mat[DRW_MAT_VIEW];
+       float (*viewinv)[4] = matstate.mat[DRW_MAT_VIEWINV];
+       float (*persmat)[4] = matstate.mat[DRW_MAT_PERS];
+       float (*persinv)[4] = matstate.mat[DRW_MAT_PERSINV];
+       float (*winmat)[4] = matstate.mat[DRW_MAT_WIN];
+       float (*wininv)[4] = matstate.mat[DRW_MAT_WININV];
+
+       float posmat[4][4];
        unit_m4(posmat);
 
        /* Move to capture position */
@@ -1170,9 +1177,6 @@ static void render_scene_to_probe(
        DRW_framebuffer_texture_detach(sldata->probe_rt);
        DRW_framebuffer_texture_detach(sldata->probe_depth_rt);
        for (int i = 0; i < 6; ++i) {
-               float viewmat[4][4], persmat[4][4];
-               float viewinv[4][4], persinv[4][4];
-
                /* Setup custom matrices */
                mul_m4_m4m4(viewmat, cubefacemat[i], posmat);
                mul_m4_m4m4(persmat, winmat, viewmat);
@@ -1180,12 +1184,7 @@ static void render_scene_to_probe(
                invert_m4_m4(viewinv, viewmat);
                invert_m4_m4(wininv, winmat);
 
-               DRW_viewport_matrix_override_set(persmat, DRW_MAT_PERS);
-               DRW_viewport_matrix_override_set(persinv, DRW_MAT_PERSINV);
-               DRW_viewport_matrix_override_set(viewmat, DRW_MAT_VIEW);
-               DRW_viewport_matrix_override_set(viewinv, DRW_MAT_VIEWINV);
-               DRW_viewport_matrix_override_set(winmat, DRW_MAT_WIN);
-               DRW_viewport_matrix_override_set(wininv, DRW_MAT_WININV);
+               DRW_viewport_matrix_override_set_all(&matstate);
 
                /* Be sure that cascaded shadow maps are updated. */
                EEVEE_draw_shadows(sldata, psl);

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to