[Bf-blender-cvs] [a6e6d7e0221] blender2.8: Eevee: More use of DRW_viewport_matrix_override_set_all

Clément Foucault noreply at git.blender.org
Tue Mar 6 16:45:30 CET 2018


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);



More information about the Bf-blender-cvs mailing list