[Bf-blender-cvs] [dd6fcd2f210] blender2.8: DRW: Fix culling algorithm for cascade shadow maps.

Clément Foucault noreply at git.blender.org
Sun Apr 15 22:24:57 CEST 2018


Commit: dd6fcd2f21090971f0298f95c2c0d51d7a85608a
Author: Clément Foucault
Date:   Sun Apr 15 21:48:57 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBdd6fcd2f21090971f0298f95c2c0d51d7a85608a

DRW: Fix culling algorithm for cascade shadow maps.

draw_frustum_boundbox_calc does not work properly it seems in this case.

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

M	source/blender/draw/intern/draw_manager_exec.c

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

diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c
index e69a1026815..c7ec905bc56 100644
--- a/source/blender/draw/intern/draw_manager_exec.c
+++ b/source/blender/draw/intern/draw_manager_exec.c
@@ -492,7 +492,14 @@ static void draw_clipping_setup_from_view(void)
 
 	/* Extract Clipping Planes */
 	BoundBox bbox;
+#if 0 /* does not currently work for all casses. */
 	draw_frustum_boundbox_calc(projmat, viewinv, &bbox);
+#else
+	BKE_boundbox_init_from_minmax(&bbox, (const float[3]){-1.0f, -1.0f, -1.0f}, (const float[3]){1.0f, 1.0f, 1.0f});
+	for (int i = 0; i < 8; i++) {
+		mul_project_m4_v3(DST.view_data.matstate.mat[DRW_MAT_PERSINV], bbox.vec[i]);
+	}
+#endif
 
 	/* Compute clip planes using the world space frustum corners. */
 	for (int p = 0; p < 6; p++) {



More information about the Bf-blender-cvs mailing list