[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14027] trunk/blender/source/blender/ render/intern/source/rendercore.c: masked/ alpha baking commit was missing a null check for imbuf,
Campbell Barton
ideasman42 at gmail.com
Sun Mar 9 19:06:56 CET 2008
Revision: 14027
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14027
Author: campbellbarton
Date: 2008-03-09 19:06:48 +0100 (Sun, 09 Mar 2008)
Log Message:
-----------
masked/alpha baking commit was missing a null check for imbuf,
made textures also bake alpha
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/source/rendercore.c
Modified: trunk/blender/source/blender/render/intern/source/rendercore.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rendercore.c 2008-03-09 17:32:32 UTC (rev 14026)
+++ trunk/blender/source/blender/render/intern/source/rendercore.c 2008-03-09 18:06:48 UTC (rev 14027)
@@ -1983,13 +1983,14 @@
shr.combined[0]= shi->r;
shr.combined[1]= shi->g;
shr.combined[2]= shi->b;
+ shr.alpha = shi->alpha;
}
}
if(bs->rect_float) {
float *col= bs->rect_float + 4*(bs->rectx*y + x);
VECCOPY(col, shr.combined);
- if (bs->type==RE_BAKE_ALL) {
+ if (bs->type==RE_BAKE_ALL || bs->type==RE_BAKE_TEXTURE) {
col[3]= shr.alpha;
} else {
col[3]= 1.0;
@@ -2002,7 +2003,7 @@
col[2]= FTOCHAR(shr.combined[2]);
- if (bs->type==RE_BAKE_ALL) {
+ if (bs->type==RE_BAKE_ALL || bs->type==RE_BAKE_TEXTURE) {
col[3]= FTOCHAR(shr.alpha);
} else {
col[3]= 255;
@@ -2337,8 +2338,6 @@
get_next_bake_face(NULL);
/* do we need a mask? */
-
- /*if ((re->r.bake_mode==RE_BAKE_ALL) && (re->r.bake_filter) && (re->r.bake_flag & R_BAKE_CLEAR)==0)*/
if (re->r.bake_filter && (re->r.bake_flag & R_BAKE_CLEAR)==0)
usemask = 1;
@@ -2346,7 +2345,8 @@
for(ima= G.main->image.first; ima; ima= ima->id.next) {
ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
ima->id.flag |= LIB_DOIT;
- ibuf->userdata = NULL; /* use for masking if needed */
+ if (ibuf)
+ ibuf->userdata = NULL; /* use for masking if needed */
}
BLI_init_threads(&threads, do_bake_thread, re->r.threads);
More information about the Bf-blender-cvs
mailing list