[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