From dd6fcd2f21090971f0298f95c2c0d51d7a85608a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Sun, 15 Apr 2018 21:48:57 +0200 Subject: DRW: Fix culling algorithm for cascade shadow maps. draw_frustum_boundbox_calc does not work properly it seems in this case. --- source/blender/draw/intern/draw_manager_exec.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to '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++) { -- cgit v1.2.3