[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14108] trunk/blender/source/blender/ render/intern:
Brecht Van Lommel
brechtvanlommel at pandora.be
Fri Mar 14 11:56:09 CET 2008
Revision: 14108
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14108
Author: blendix
Date: 2008-03-14 11:56:09 +0100 (Fri, 14 Mar 2008)
Log Message:
-----------
Bugfix: baking selected to active did not include materials with
Traceable disabled.
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/include/render_types.h
trunk/blender/source/blender/render/intern/source/convertblender.c
trunk/blender/source/blender/render/intern/source/rayshade.c
Modified: trunk/blender/source/blender/render/intern/include/render_types.h
===================================================================
--- trunk/blender/source/blender/render/intern/include/render_types.h 2008-03-14 10:43:26 UTC (rev 14107)
+++ trunk/blender/source/blender/render/intern/include/render_types.h 2008-03-14 10:56:09 UTC (rev 14108)
@@ -497,6 +497,7 @@
#define R_GLOB_NOPUNOFLIP 16
#define R_NEED_TANGENT 32
#define R_SKIP_MULTIRES 64
+#define R_BAKE_TRACE 128
/* vlakren->flag (vlak = face in dutch) char!!! */
#define R_SMOOTH 1
Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c 2008-03-14 10:43:26 UTC (rev 14107)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c 2008-03-14 10:56:09 UTC (rev 14108)
@@ -5318,7 +5318,6 @@
ListBase oldtable= {NULL, NULL}, newtable= {NULL, NULL};
ListBase strandsurface;
int step;
- ModifierData *md = NULL;
re->i.infostr= "Calculating previous vectors";
re->r.mode |= R_SPEED;
@@ -5453,6 +5452,8 @@
re->excludeob= actob;
if(type == RE_BAKE_LIGHT)
re->flag |= R_SKIP_MULTIRES;
+ if(actob)
+ re->flag |= R_BAKE_TRACE;
if(type==RE_BAKE_NORMALS && re->r.bake_normal_space==R_BAKE_SPACE_TANGENT)
re->flag |= R_NEED_TANGENT;
Modified: trunk/blender/source/blender/render/intern/source/rayshade.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rayshade.c 2008-03-14 10:43:26 UTC (rev 14107)
+++ trunk/blender/source/blender/render/intern/source/rayshade.c 2008-03-14 10:56:09 UTC (rev 14108)
@@ -82,6 +82,11 @@
ObjectInstanceRen *obi= RAY_OBJECT_GET((Render*)is->userdata, ob);
VlakRen *vlr = (VlakRen*)face;
+ /* for baking selected to active non-traceable materials might still
+ * be in the raytree */
+ if(!(vlr->mat->mode & MA_TRACEBLE))
+ return 0;
+
/* I know... cpu cycle waste, might do smarter once */
if(is->mode==RE_RAY_MIRROR)
return !(vlr->mat->mode & MA_ONLYCAST);
@@ -125,7 +130,8 @@
for(v=0;v<obr->totvlak;v++) {
if((v & 255)==0) vlr= obr->vlaknodes[v>>8].vlak;
else vlr++;
- if(vlr->mat->mode & MA_TRACEBLE) {
+ /* baking selected to active needs non-traceable too */
+ if((re->flag & R_BAKE_TRACE) || (vlr->mat->mode & MA_TRACEBLE)) {
if((vlr->mat->mode & MA_WIRE)==0) {
VECCOPY(co1, vlr->v1->co);
VECCOPY(co2, vlr->v2->co);
@@ -186,7 +192,7 @@
}
else vlr++;
- if(vlr->mat->mode & MA_TRACEBLE)
+ if((re->flag & R_BAKE_TRACE) || (vlr->mat->mode & MA_TRACEBLE))
if((vlr->mat->mode & MA_WIRE)==0)
RE_ray_tree_add_face(re->raytree, RAY_OBJECT_SET(re, obi), vlr);
}
More information about the Bf-blender-cvs
mailing list