[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39530] trunk/blender/source/blender/ render/intern/source/render_texture.c: bugfix: genx and geny are not the image resolution.

Morten Mikkelsen mikkelsen7 at gmail.com
Thu Aug 18 19:25:54 CEST 2011


Revision: 39530
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39530
Author:   mmikkelsen
Date:     2011-08-18 17:25:54 +0000 (Thu, 18 Aug 2011)
Log Message:
-----------
bugfix: genx and geny are not the image resolution. Texture space variant needs this.

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

Modified: trunk/blender/source/blender/render/intern/source/render_texture.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/render_texture.c	2011-08-18 17:09:23 UTC (rev 39529)
+++ trunk/blender/source/blender/render/intern/source/render_texture.c	2011-08-18 17:25:54 UTC (rev 39530)
@@ -2084,14 +2084,21 @@
 
 	if( mtex->texflag & MTEX_BUMP_TEXTURESPACE ) {
 		if(tex->ima) {
+			float vec[2];
+			int dimx=512, dimy=512; 
+			ImBuf* ibuf = BKE_image_get_ibuf(tex->ima, &tex->iuser);
+			if (ibuf) {
+				dimx = ibuf->x;
+				dimy = ibuf->y;
+			}
+
 			// crazy hack solution that gives results similar to normal mapping - part 2
-			float vec[2];
 			
-			vec[0] = tex->ima->gen_x*dxt[0];
-			vec[1] = tex->ima->gen_y*dxt[1];
+			vec[0] = dimx*dxt[0];
+			vec[1] = dimy*dxt[1];
 			dHdx *= 1.0f/len_v2(vec);
-			vec[0] = tex->ima->gen_x*dyt[0];
-			vec[1] = tex->ima->gen_y*dyt[1];
+			vec[0] = dimx*dyt[0];
+			vec[1] = dimy*dyt[1];
 			dHdy *= 1.0f/len_v2(vec);
 		}
 	}




More information about the Bf-blender-cvs mailing list