[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14840] trunk/blender: uvcalc_lightmap would raise an error on meshes with no faces.

Campbell Barton ideasman42 at gmail.com
Wed May 14 18:40:25 CEST 2008


Revision: 14840
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14840
Author:   campbellbarton
Date:     2008-05-14 18:40:25 +0200 (Wed, 14 May 2008)

Log Message:
-----------
uvcalc_lightmap would raise an error on meshes with no faces.
auto-threads wasnt working for baking.

Modified Paths:
--------------
    trunk/blender/release/scripts/uvcalc_lightmap.py
    trunk/blender/source/blender/render/extern/include/RE_pipeline.h
    trunk/blender/source/blender/render/intern/source/convertblender.c
    trunk/blender/source/blender/render/intern/source/pipeline.c

Modified: trunk/blender/release/scripts/uvcalc_lightmap.py
===================================================================
--- trunk/blender/release/scripts/uvcalc_lightmap.py	2008-05-14 16:14:40 UTC (rev 14839)
+++ trunk/blender/release/scripts/uvcalc_lightmap.py	2008-05-14 16:40:25 UTC (rev 14840)
@@ -517,7 +517,7 @@
 	
 	if not Draw.PupBlock('Lightmap Pack', [\
 	'Context...',
-	('Active Object', PREF_ACT_ONLY, 'If disabled, use all objects for packing the lightmap.'),\
+	('Active Object', PREF_ACT_ONLY, 'If disabled, include other selected objects for packing the lightmap.'),\
 	('Selected Faces', PREF_SEL_ONLY, 'Use only selected faces from all selected meshes.'),\
 	'Image & UVs...',
 	('Share Tex Space', PREF_PACK_IN_ONE, 'Objects Share texture space, map all objects into 1 uvmap'),\
@@ -538,7 +538,7 @@
 			return
 		meshes = [ ob.getData(mesh=1) ]
 	else:
-		meshes = dict([ (me.name, me) for ob in scn.objects.context for me in (ob.getData(mesh=1),) if not me.lib])
+		meshes = dict([ (me.name, me) for ob in scn.objects.context for me in (ob.getData(mesh=1),) if not me.lib if len(me.faces)])
 		meshes = meshes.values()
 		if not meshes:
 			Draw.PupMenu('Error%t|No mesh objects selected.')

Modified: trunk/blender/source/blender/render/extern/include/RE_pipeline.h
===================================================================
--- trunk/blender/source/blender/render/extern/include/RE_pipeline.h	2008-05-14 16:14:40 UTC (rev 14839)
+++ trunk/blender/source/blender/render/extern/include/RE_pipeline.h	2008-05-14 16:40:25 UTC (rev 14840)
@@ -177,6 +177,9 @@
 /* override the scene setting for amount threads, commandline */
 void RE_set_max_threads(int threads);
 
+/* set the render threads based on the commandline and autothreads setting */
+void RE_init_threadcount(Render *re);
+
 /* the main processor, assumes all was set OK! */
 void RE_TileProcessor(struct Render *re, int firsttile, int threaded);
 

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2008-05-14 16:14:40 UTC (rev 14839)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2008-05-14 16:40:25 UTC (rev 14840)
@@ -5417,6 +5417,9 @@
 
 	/* renderdata setup and exceptions */
 	re->r= scene->r;
+	
+	RE_init_threadcount(re);
+	
 	re->flag |= R_GLOB_NOPUNOFLIP;
 	re->excludeob= actob;
 	if(type == RE_BAKE_LIGHT)

Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c	2008-05-14 16:14:40 UTC (rev 14839)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c	2008-05-14 16:40:25 UTC (rev 14840)
@@ -2675,3 +2675,12 @@
 		printf("Error, threads has to be in range 1-%d\n", BLENDER_MAX_THREADS);
 	}
 }
+
+void RE_init_threadcount(Render *re) 
+{
+	if ((re->r.mode & R_FIXED_THREADS)==0 || commandline_threads == 0) { /* Automatic threads */
+		re->r.threads = BLI_system_thread_count();
+	} else if(commandline_threads >= 1 && commandline_threads<=BLENDER_MAX_THREADS) {
+		re->r.threads= commandline_threads;
+	}
+}





More information about the Bf-blender-cvs mailing list