[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25648] trunk/blender/source/blender/ render/intern/source: displacement was crashing because of the improved bumpmap.

Campbell Barton ideasman42 at gmail.com
Fri Jan 1 14:56:31 CET 2010


Revision: 25648
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25648
Author:   campbellbarton
Date:     2010-01-01 14:56:30 +0100 (Fri, 01 Jan 2010)

Log Message:
-----------
displacement was crashing because of the improved bumpmap. now its skipped when the ShaderInput's verts are not set.

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/source/convertblender.c
    trunk/blender/source/blender/render/intern/source/texture.c

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2010-01-01 12:24:16 UTC (rev 25647)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2010-01-01 13:56:30 UTC (rev 25648)
@@ -2284,6 +2284,14 @@
 	shi.mat= vlr->mat;		/* current input material */
 	shi.thread= 0;
 	
+	/* TODO, assign these, displacement with new bumpmap is skipped without - campbell */
+#if 0
+	/* order is not known ? */
+	shi.v1= vlr->v1;
+	shi.v2= vlr->v2;
+	shi.v3= vlr->v3;
+#endif
+
 	/* Displace the verts, flag is set when done */
 	if (!vlr->v1->flag)
 		displace_render_vert(re, obr, &shi, vlr->v1,0,  scale, mat, imat);

Modified: trunk/blender/source/blender/render/intern/source/texture.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/texture.c	2010-01-01 12:24:16 UTC (rev 25647)
+++ trunk/blender/source/blender/render/intern/source/texture.c	2010-01-01 13:56:30 UTC (rev 25648)
@@ -1737,7 +1737,8 @@
 					// (should not be here, dudnu, dudnv, dvdnu & dvdnv should probably be part of ShadeInputUV struct,
 					//  nu/nv in ShadeInput and this calculation should then move to shadeinput.c, shade_input_set_shade_texco() func.)
 					// NOTE: test for shi->obr->ob here, since vlr/obr/obi can be 'fake' when called from fastshade(), another reason to move it..
-					if ((mtex->texflag & MTEX_NEW_BUMP) && shi->obr && shi->obr->ob) {
+					// NOTE: shi->v1 is NULL when called from displace_render_vert, assigning verts in this case is not trivial because the shi quad face side is not know.
+					if ((mtex->texflag & MTEX_NEW_BUMP) && shi->obr && shi->obr->ob && shi->v1) {
 						if(mtex->mapto & (MAP_NORM|MAP_DISPLACE|MAP_WARP)) {
 							MTFace* tf = RE_vlakren_get_tface(shi->obr, shi->vlr, i, NULL, 0);
 							int j1 = shi->i1, j2 = shi->i2, j3 = shi->i3;





More information about the Bf-blender-cvs mailing list