[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28025] trunk/blender/source/blender/ editors/space_view3d/view3d_draw.c: Patch #21697: GLSL shadows work again, by Matthias Fauconneau, thanks!

Brecht Van Lommel brecht at blender.org
Tue Apr 6 03:34:57 CEST 2010


Revision: 28025
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28025
Author:   blendix
Date:     2010-04-06 03:34:55 +0200 (Tue, 06 Apr 2010)

Log Message:
-----------
Patch #21697: GLSL shadows work again, by Matthias Fauconneau, thanks!

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2010-04-06 01:28:39 UTC (rev 28024)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2010-04-06 01:34:55 UTC (rev 28025)
@@ -1797,6 +1797,8 @@
 	Scene *sce;
 	Base *base;
 	Object *ob;
+	ARegion ar;
+	RegionView3D rv3d;
 	
 	shadows.first= shadows.last= NULL;
 	
@@ -1835,7 +1837,20 @@
 		v3d->flag2 &= ~V3D_SOLID_TEX;
 		
 		GPU_lamp_shadow_buffer_bind(shadow->lamp, viewmat, &winsize, winmat);
-// XXX		drawview3d_render(v3d, viewmat, winsize, winsize, winmat, 1);
+
+		memset(&ar, 0, sizeof(ar));
+		memset(&rv3d, 0, sizeof(rv3d));
+
+		ar.regiondata= &rv3d;
+		ar.regiontype= RGN_TYPE_WINDOW;
+		rv3d.persp= RV3D_CAMOB;
+		copy_m4_m4(rv3d.winmat, winmat);
+		copy_m4_m4(rv3d.viewmat, viewmat);
+		invert_m4_m4(rv3d.viewinv, rv3d.viewmat);
+		mul_m4_m4m4(rv3d.persmat, rv3d.viewmat, rv3d.winmat);
+		invert_m4_m4(rv3d.persinv, rv3d.viewinv);
+
+		ED_view3d_draw_offscreen(scene, v3d, &ar, winsize, winsize, viewmat, winmat);
 		GPU_lamp_shadow_buffer_unbind(shadow->lamp);
 		
 		v3d->drawtype= drawtype;





More information about the Bf-blender-cvs mailing list