[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58265] trunk/blender/source/blender: Fix #36139: cycles not taking texture spacing settings into account for

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Jul 15 13:11:36 CEST 2013


Revision: 58265
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58265
Author:   blendix
Date:     2013-07-15 11:11:36 +0000 (Mon, 15 Jul 2013)
Log Message:
-----------
Fix #36139: cycles not taking texture spacing settings into account for
generated coordinates on text objects.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_mesh.h
    trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
    trunk/blender/source/blender/blenkernel/intern/mesh.c
    trunk/blender/source/blender/makesrna/intern/rna_main_api.c

Modified: trunk/blender/source/blender/blenkernel/BKE_mesh.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_mesh.h	2013-07-15 11:01:23 UTC (rev 58264)
+++ trunk/blender/source/blender/blenkernel/BKE_mesh.h	2013-07-15 11:11:36 UTC (rev 58265)
@@ -209,6 +209,7 @@
 
 struct BoundBox *BKE_mesh_boundbox_get(struct Object *ob);
 void BKE_mesh_texspace_get(struct Mesh *me, float r_loc[3], float r_rot[3], float r_size[3]);
+void BKE_mesh_texspace_copy_from_object(struct Mesh *me, struct Object *ob);
 
 /* if old, it converts mface->edcode to edge drawflags */
 void BKE_mesh_make_edges(struct Mesh *me, const bool use_old);

Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2013-07-15 11:01:23 UTC (rev 58264)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2013-07-15 11:11:36 UTC (rev 58265)
@@ -484,8 +484,6 @@
 	Mesh tmp = *me;
 	int totvert, totedge /*, totface */ /* UNUSED */, totloop, totpoly;
 	int did_shapekeys = 0;
-	float *texloc, *texrot, *texsize;
-	short *texflag;
 	
 	CustomData_reset(&tmp.vdata);
 	CustomData_reset(&tmp.edata);
@@ -533,12 +531,7 @@
 	}
 
 	/* copy texture space */
-	if (BKE_object_obdata_texspace_get(ob, &texflag, &texloc, &texsize, &texrot)) {
-		tmp.texflag = *texflag;
-		copy_v3_v3(tmp.loc, texloc);
-		copy_v3_v3(tmp.size, texsize);
-		copy_v3_v3(tmp.rot, texrot);
-	}
+	BKE_mesh_texspace_copy_from_object(&tmp, ob);
 	
 	/* not all DerivedMeshes store their verts/edges/faces in CustomData, so
 	 * we set them here in case they are missing */

Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh.c	2013-07-15 11:01:23 UTC (rev 58264)
+++ trunk/blender/source/blender/blenkernel/intern/mesh.c	2013-07-15 11:11:36 UTC (rev 58265)
@@ -702,6 +702,19 @@
 	if (r_size) copy_v3_v3(r_size, me->size);
 }
 
+void BKE_mesh_texspace_copy_from_object(Mesh *me, Object *ob)
+{
+	float *texloc, *texrot, *texsize;
+	short *texflag;
+
+	if (BKE_object_obdata_texspace_get(ob, &texflag, &texloc, &texsize, &texrot)) {
+		me->texflag = *texflag;
+		copy_v3_v3(me->loc, texloc);
+		copy_v3_v3(me->size, texsize);
+		copy_v3_v3(me->rot, texrot);
+	}
+}
+
 float (*BKE_mesh_orco_verts_get(Object *ob))[3]
 {
 	Mesh *me = ob->data;

Modified: trunk/blender/source/blender/makesrna/intern/rna_main_api.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_main_api.c	2013-07-15 11:01:23 UTC (rev 58264)
+++ trunk/blender/source/blender/makesrna/intern/rna_main_api.c	2013-07-15 11:11:36 UTC (rev 58265)
@@ -335,6 +335,8 @@
 				return NULL;
 			}
 
+			BKE_mesh_texspace_copy_from_object(tmpmesh, ob);
+
 			BKE_libblock_free_us(&bmain->object, tmpobj);
 			break;
 		}
@@ -362,6 +364,8 @@
 			else
 				BKE_mesh_from_metaball(&ob->disp, tmpmesh);
 
+			BKE_mesh_texspace_copy_from_object(tmpmesh, ob);
+
 			break;
 
 		}




More information about the Bf-blender-cvs mailing list