[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38665] branches/soc-2011-salad: Merged latest commits from soc-2011-carrot into soc-2011-salad.

Miika Hamalainen miika.hamalainen at kolumbus.fi
Sun Jul 24 20:06:24 CEST 2011


Revision: 38665
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38665
Author:   miikah
Date:     2011-07-24 18:06:23 +0000 (Sun, 24 Jul 2011)
Log Message:
-----------
Merged latest commits from soc-2011-carrot into soc-2011-salad.

Modified Paths:
--------------
    branches/soc-2011-salad/source/blender/blenkernel/intern/dynamicpaint.c
    branches/soc-2011-salad/source/blender/nodes/intern/SHD_nodes/SHD_geom.c
    branches/soc-2011-salad/source/blender/nodes/intern/SHD_util.h
    branches/soc-2011-salad/source/blender/render/extern/include/RE_shader_ext.h
    branches/soc-2011-salad/source/blender/render/intern/source/shadeinput.c
    branches/soc-2011-salad/source/blender/render/intern/source/shadeoutput.c

Property Changed:
----------------
    branches/soc-2011-salad/
    branches/soc-2011-salad/intern/audaspace/OpenAL/


Property changes on: branches/soc-2011-salad
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-30783,30792-30793,30797-30798,30815
/branches/soc-2011-carrot:36854,37548,37564,37602,37622,37848,38043,38064,38226,38231,38282,38620
/branches/soc-2011-cucumber:36829-36994
/branches/soc-2011-onion:36833-38309
/branches/soc-2011-pepper:36830-38208
/branches/soc-2011-tomato:36831-38638
/trunk/blender:36834-38637
   + /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-30783,30792-30793,30797-30798,30815
/branches/soc-2011-carrot:36854,37548,37564,37602,37622,37848,38043,38064,38226,38231,38282,38620,38661-38662
/branches/soc-2011-cucumber:36829-36994
/branches/soc-2011-onion:36833-38309
/branches/soc-2011-pepper:36830-38208
/branches/soc-2011-tomato:36831-38638
/trunk/blender:36834-38637


Property changes on: branches/soc-2011-salad/intern/audaspace/OpenAL
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/soc-2010-jwilkins/intern/audaspace/OpenAL:28499-37009
/branches/soc-2010-nicolasbishop/intern/audaspace/OpenAL:28448-30783,30792-30793,30797-30798,30815
/branches/soc-2011-carrot/intern/audaspace/OpenAL:36854,37548,37564,37602,37622,37848,38043,38064,38226,38231,38282,38620
/branches/soc-2011-cucumber/intern/audaspace/OpenAL:36829-36994
/branches/soc-2011-onion/intern/audaspace/OpenAL:36833-38309
/branches/soc-2011-pepper/intern/audaspace/OpenAL:36830-38208,38630
/branches/soc-2011-tomato/intern/audaspace/OpenAL:36831-38638
/trunk/blender/intern/audaspace/OpenAL:36834-38637
   + /branches/soc-2010-jwilkins/intern/audaspace/OpenAL:28499-37009
/branches/soc-2010-nicolasbishop/intern/audaspace/OpenAL:28448-30783,30792-30793,30797-30798,30815
/branches/soc-2011-carrot/intern/audaspace/OpenAL:36854,37548,37564,37602,37622,37848,38043,38064,38226,38231,38282,38620,38661-38662
/branches/soc-2011-cucumber/intern/audaspace/OpenAL:36829-36994
/branches/soc-2011-onion/intern/audaspace/OpenAL:36833-38309
/branches/soc-2011-pepper/intern/audaspace/OpenAL:36830-38208,38630
/branches/soc-2011-tomato/intern/audaspace/OpenAL:36831-38638
/trunk/blender/intern/audaspace/OpenAL:36834-38637

Modified: branches/soc-2011-salad/source/blender/blenkernel/intern/dynamicpaint.c
===================================================================
--- branches/soc-2011-salad/source/blender/blenkernel/intern/dynamicpaint.c	2011-07-24 18:01:20 UTC (rev 38664)
+++ branches/soc-2011-salad/source/blender/blenkernel/intern/dynamicpaint.c	2011-07-24 18:06:23 UTC (rev 38665)
@@ -1272,7 +1272,7 @@
 						/* save layer data to output layer */
 
 						/* paint layer */
-						col = CustomData_get_layer_named(&dm->faceData, CD_MCOL, surface->output_name);
+						col = CustomData_get_layer_named(&result->faceData, CD_MCOL, surface->output_name);
 						if (col) {
 							#pragma omp parallel for schedule(static)
 							for (i=0; i<numOfFaces; i++) {
@@ -1288,10 +1288,11 @@
 								}
 							}
 						}
+						
 						MEM_freeN(fcolor);
 
 						/* wet layer */
-						col = CustomData_get_layer_named(&dm->faceData, CD_MCOL, surface->output_name2);
+						col = CustomData_get_layer_named(&result->faceData, CD_MCOL, surface->output_name2);
 						if (col) {
 							#pragma omp parallel for schedule(static)
 							for (i=0; i<numOfFaces; i++) {
@@ -3821,18 +3822,14 @@
 				w_factor = (1.0f - ePoint->wetness)/8 * (pPoint->wetness - ePoint->wetness) * speed_scale;
 				if (w_factor < 0.0f) w_factor = 0.0f;
 
-				if (a_factor) {
-					pPoint->alpha -= a_factor;
-					if (pPoint->alpha < 0.0f) pPoint->alpha = 0.0f;
-					pPoint->wetness -= a_factor;
+				pPoint->alpha -= a_factor;
+				if (pPoint->alpha < 0.0f) pPoint->alpha = 0.0f;
 
-				}
-				else {
-					pPoint->e_alpha -= ea_factor;
-					if (pPoint->e_alpha < 0.0f) pPoint->e_alpha = 0.0f;
-					pPoint->wetness -= w_factor;
-					if (pPoint->wetness < 0.0f) pPoint->wetness = 0.0f;
-				}
+				pPoint->e_alpha -= ea_factor;
+				if (pPoint->e_alpha < 0.0f) pPoint->e_alpha = 0.0f;
+
+				pPoint->wetness -= w_factor;
+				if (pPoint->wetness < 0.0f) pPoint->wetness = 0.0f;
 			}
 		}
 	}

Modified: branches/soc-2011-salad/source/blender/nodes/intern/SHD_nodes/SHD_geom.c
===================================================================
--- branches/soc-2011-salad/source/blender/nodes/intern/SHD_nodes/SHD_geom.c	2011-07-24 18:01:20 UTC (rev 38664)
+++ branches/soc-2011-salad/source/blender/nodes/intern/SHD_nodes/SHD_geom.c	2011-07-24 18:06:23 UTC (rev 38665)
@@ -47,6 +47,7 @@
 	{	SOCK_VECTOR, 0, "UV",	0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
 	{	SOCK_VECTOR, 0, "Normal",	0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
 	{	SOCK_RGBA,   0, "Vertex Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+	{	SOCK_VALUE,   0, "Vertex Alpha", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
 	{	SOCK_VALUE,   0, "Front/Back", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
 	{	-1, 0, ""	}
 };
@@ -93,10 +94,14 @@
 			}
 
 			VECCOPY(out[GEOM_OUT_VCOL]->vec, scol->col);
-			out[GEOM_OUT_VCOL]->vec[3]= 1.0f;
+			out[GEOM_OUT_VCOL]->vec[3]= scol->col[3];
+
+			out[GEOM_OUT_VCOL_ALPHA]->vec[0]= scol->col[3];
 		}
-		else
+		else {
 			memcpy(out[GEOM_OUT_VCOL]->vec, defaultvcol, sizeof(defaultvcol));
+			out[GEOM_OUT_VCOL_ALPHA]->vec[0]= 1.0f;
+		}
 		
 		if(shi->osatex) {
 			out[GEOM_OUT_GLOB]->data= shi->dxgl;

Modified: branches/soc-2011-salad/source/blender/nodes/intern/SHD_util.h
===================================================================
--- branches/soc-2011-salad/source/blender/nodes/intern/SHD_util.h	2011-07-24 18:01:20 UTC (rev 38664)
+++ branches/soc-2011-salad/source/blender/nodes/intern/SHD_util.h	2011-07-24 18:06:23 UTC (rev 38665)
@@ -93,7 +93,8 @@
 #define GEOM_OUT_UV		4
 #define GEOM_OUT_NORMAL	5
 #define GEOM_OUT_VCOL	6
-#define GEOM_OUT_FRONTBACK	7
+#define GEOM_OUT_VCOL_ALPHA	7
+#define GEOM_OUT_FRONTBACK	8
 
 
 /* input socket defines */

Modified: branches/soc-2011-salad/source/blender/render/extern/include/RE_shader_ext.h
===================================================================
--- branches/soc-2011-salad/source/blender/render/extern/include/RE_shader_ext.h	2011-07-24 18:01:20 UTC (rev 38664)
+++ branches/soc-2011-salad/source/blender/render/extern/include/RE_shader_ext.h	2011-07-24 18:06:23 UTC (rev 38665)
@@ -92,7 +92,7 @@
 } ShadeInputUV;
 
 typedef struct ShadeInputCol {
-	float col[3];
+	float col[4];
 	char *name;
 } ShadeInputCol;
 

Modified: branches/soc-2011-salad/source/blender/render/intern/source/shadeinput.c
===================================================================
--- branches/soc-2011-salad/source/blender/render/intern/source/shadeinput.c	2011-07-24 18:01:20 UTC (rev 38664)
+++ branches/soc-2011-salad/source/blender/render/intern/source/shadeinput.c	2011-07-24 18:06:23 UTC (rev 38665)
@@ -473,17 +473,20 @@
 					scol->col[0]= cp[3]/255.0f;
 					scol->col[1]= cp[2]/255.0f;
 					scol->col[2]= cp[1]/255.0f;
+					scol->col[3]= cp[0]/255.0f;
 				}
 
 				if(shi->totcol) {
 					shi->vcol[0]= shi->col[shi->actcol].col[0];
 					shi->vcol[1]= shi->col[shi->actcol].col[1];
 					shi->vcol[2]= shi->col[shi->actcol].col[2];
+					shi->vcol[3]= shi->col[shi->actcol].col[3];
 				}
 				else {
 					shi->vcol[0]= 0.0f;
 					shi->vcol[1]= 0.0f;
 					shi->vcol[2]= 0.0f;
+					shi->vcol[3]= 0.0f;
 				}
 			}
 
@@ -516,6 +519,7 @@
 						shi->vcol[0]= 1.0f;
 						shi->vcol[1]= 1.0f;
 						shi->vcol[2]= 1.0f;
+						shi->vcol[3]= 1.0f;
 					}
 				}
 			}
@@ -532,6 +536,7 @@
 					shi->vcol[0]= 1.0f;
 					shi->vcol[1]= 1.0f;
 					shi->vcol[2]= 1.0f;
+					shi->vcol[3]= 1.0f;
 				}
 			}
 
@@ -1111,13 +1116,14 @@
 					scol->col[0]= (l*((float)cp3[3]) - u*((float)cp1[3]) - v*((float)cp2[3]))/255.0f;
 					scol->col[1]= (l*((float)cp3[2]) - u*((float)cp1[2]) - v*((float)cp2[2]))/255.0f;
 					scol->col[2]= (l*((float)cp3[1]) - u*((float)cp1[1]) - v*((float)cp2[1]))/255.0f;
+					scol->col[3]= (l*((float)cp3[0]) - u*((float)cp1[0]) - v*((float)cp2[0]))/255.0f;
 				}
 
 				if(shi->totcol) {
 					shi->vcol[0]= shi->col[shi->actcol].col[0];
 					shi->vcol[1]= shi->col[shi->actcol].col[1];
 					shi->vcol[2]= shi->col[shi->actcol].col[2];
-					shi->vcol[3]= 1.0f;
+					shi->vcol[3]= shi->col[shi->actcol].col[3];
 				}
 				else {
 					shi->vcol[0]= 0.0f;

Modified: branches/soc-2011-salad/source/blender/render/intern/source/shadeoutput.c
===================================================================
--- branches/soc-2011-salad/source/blender/render/intern/source/shadeoutput.c	2011-07-24 18:01:20 UTC (rev 38664)
+++ branches/soc-2011-salad/source/blender/render/intern/source/shadeoutput.c	2011-07-24 18:06:23 UTC (rev 38665)
@@ -865,13 +865,19 @@
 {
 	Material *ma= shi->mat;
 
-	if(ma->mode & (MA_VERTEXCOLP|MA_FACETEXTURE)) {
+	if(ma->mode & (MA_FACETEXTURE)) {
 		shi->r= shi->vcol[0];
 		shi->g= shi->vcol[1];
 		shi->b= shi->vcol[2];
 		if(ma->mode & (MA_FACETEXTURE_ALPHA))
 			shi->alpha= shi->vcol[3];
 	}
+	else if(ma->mode & (MA_VERTEXCOLP)) {
+		float inv_alpha = 1.0f - shi->vcol[3];
+		shi->r= shi->r*inv_alpha + shi->vcol[0]*shi->vcol[3];
+		shi->g= shi->g*inv_alpha + shi->vcol[1]*shi->vcol[3];
+		shi->b= shi->b*inv_alpha + shi->vcol[2]*shi->vcol[3];
+	}
 	
 	if(ma->texco)
 		do_material_tex(shi);
@@ -1649,13 +1655,19 @@
 	
 	/* material color itself */
 	if(passflag & (SCE_PASS_COMBINED|SCE_PASS_RGBA)) {
-		if(ma->mode & (MA_VERTEXCOLP|MA_FACETEXTURE)) {
+		if(ma->mode & (MA_FACETEXTURE)) {
 			shi->r= shi->vcol[0];
 			shi->g= shi->vcol[1];
 			shi->b= shi->vcol[2];
 			if(ma->mode & (MA_FACETEXTURE_ALPHA))
-				shi->alpha= (shi->mode & MA_TRANSP) ? shi->vcol[3] : 1.0f;
+				shi->alpha= shi->vcol[3];
 		}
+		else if(ma->mode & (MA_VERTEXCOLP)) {
+			float inv_alpha = 1.0f - shi->vcol[3];
+			shi->r= shi->r*inv_alpha + shi->vcol[0]*shi->vcol[3];
+			shi->g= shi->g*inv_alpha + shi->vcol[1]*shi->vcol[3];
+			shi->b= shi->b*inv_alpha + shi->vcol[2]*shi->vcol[3];
+		}
 		if(ma->texco){
 			do_material_tex(shi);
 			if (!(shi->mode & MA_TRANSP)) shi->alpha = 1.0f;




More information about the Bf-blender-cvs mailing list