[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53136] trunk/blender/source/blender/ render/intern/source/multires_bake.c: Multires baker: noneed to tag display as invalid after every flushed pixel

Sergey Sharybin sergey.vfx at gmail.com
Tue Dec 18 18:46:48 CET 2012


Revision: 53136
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53136
Author:   nazgul
Date:     2012-12-18 17:46:48 +0000 (Tue, 18 Dec 2012)
Log Message:
-----------
Multires baker: noneed to tag display as invalid after every flushed pixel

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

Modified: trunk/blender/source/blender/render/intern/source/multires_bake.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/multires_bake.c	2012-12-18 17:46:42 UTC (rev 53135)
+++ trunk/blender/source/blender/render/intern/source/multires_bake.c	2012-12-18 17:46:48 UTC (rev 53136)
@@ -400,6 +400,11 @@
 				data.i2 = verts[2][t];
 
 				bake_rasterize(&bake_rast, mtfate->uv[data.i0], mtfate->uv[data.i1], mtfate->uv[data.i2]);
+
+				if (ibuf->rect_float)
+					ibuf->userflags |= IB_RECT_INVALID;
+
+				ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
 			}
 
 			bkr->baked_faces++;
@@ -620,8 +625,11 @@
 		}
 	}
 
-	ibuf->userflags = IB_RECT_INVALID | IB_DISPLAY_BUFFER_INVALID;
+	if (ibuf->rect_float)
+		ibuf->userflags |= IB_RECT_INVALID;
 
+	ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
+
 	BKE_image_release_ibuf(height_data->ima, ibuf, NULL);
 }
 
@@ -701,15 +709,11 @@
 	if (ibuf->rect_float) {
 		float *rrgbf = ibuf->rect_float + pixel * 4;
 		rrgbf[3] = 1.0f;
-
-		ibuf->userflags = IB_RECT_INVALID;
 	}
 	else {
 		char *rrgb = (char *)ibuf->rect + pixel * 4;
 		rrgb[3] = 255;
 	}
-
-	ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
 }
 
 /* **************** Normal Maps Baker **************** */
@@ -781,16 +785,12 @@
 		rrgbf[1] = vec[1];
 		rrgbf[2] = vec[2];
 		rrgbf[3] = 1.0f;
-
-		ibuf->userflags = IB_RECT_INVALID;
 	}
 	else {
 		unsigned char *rrgb = (unsigned char *)ibuf->rect + pixel * 4;
 		rgb_float_to_uchar(rrgb, vec);
 		rrgb[3] = 255;
 	}
-
-	ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
 }
 
 /* **************** Ambient Occlusion Baker **************** */
@@ -1073,16 +1073,12 @@
 		float *rrgbf = ibuf->rect_float + pixel * 4;
 		rrgbf[0] = rrgbf[1] = rrgbf[2] = value;
 		rrgbf[3] = 1.0f;
-
-		ibuf->userflags = IB_RECT_INVALID;
 	}
 	else {
 		unsigned char *rrgb = (unsigned char *) ibuf->rect + pixel * 4;
 		rrgb[0] = rrgb[1] = rrgb[2] = FTOCHAR(value);
 		rrgb[3] = 255;
 	}
-
-	ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
 }
 
 /* **************** Common functions public API relates on **************** */




More information about the Bf-blender-cvs mailing list