diff options
author | Miika Hamalainen <blender@miikah.org> | 2011-11-10 14:24:34 +0400 |
---|---|---|
committer | Miika Hamalainen <blender@miikah.org> | 2011-11-10 14:24:34 +0400 |
commit | afeb0eeaf0e8caf5e46a5dd6fbea3786e9fb1354 (patch) | |
tree | 36ab74ff3fa36d27c0f35527d3b55e68e3d27fe5 /source/blender/nodes | |
parent | 1e035381d10068eb17345a88d42cebc0d579adf3 (diff) | |
parent | 1b4a54ad73c058baa59ffdc9e5f18b0b79030fb0 (diff) |
Dynamic Paint merge:
Commit Dynamic Paint from "soc-2011-carrot" branch into trunk.
End-user documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Simulation/Dynamic_Paint
GSoC wiki page:
http://wiki.blender.org/index.php/User:MiikaH/GSoC-2011-DynamicPaint
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/shader/node_shader_util.c | 2 | ||||
-rw-r--r-- | source/blender/nodes/shader/node_shader_util.h | 3 | ||||
-rw-r--r-- | source/blender/nodes/shader/nodes/node_shader_geom.c | 8 |
3 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/nodes/shader/node_shader_util.c b/source/blender/nodes/shader/node_shader_util.c index dcfdb97f91a..d601c205682 100644 --- a/source/blender/nodes/shader/node_shader_util.c +++ b/source/blender/nodes/shader/node_shader_util.c @@ -117,6 +117,8 @@ void ntreeShaderGetTexcoMode(bNodeTree *ntree, int r_mode, short *texco, int *mo *texco |= TEXCO_NORM|NEED_UV; break; case GEOM_OUT_VCOL: *texco |= NEED_UV; *mode |= MA_VERTEXCOL; break; + case GEOM_OUT_VCOL_ALPHA: + *texco |= NEED_UV; *mode |= MA_VERTEXCOL; break; } } } diff --git a/source/blender/nodes/shader/node_shader_util.h b/source/blender/nodes/shader/node_shader_util.h index 369defe490f..48e54d9d0b4 100644 --- a/source/blender/nodes/shader/node_shader_util.h +++ b/source/blender/nodes/shader/node_shader_util.h @@ -92,7 +92,8 @@ typedef struct ShaderCallData { #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 */ diff --git a/source/blender/nodes/shader/nodes/node_shader_geom.c b/source/blender/nodes/shader/nodes/node_shader_geom.c index bc367dc9de5..ddf1180df9e 100644 --- a/source/blender/nodes/shader/nodes/node_shader_geom.c +++ b/source/blender/nodes/shader/nodes/node_shader_geom.c @@ -45,6 +45,7 @@ static bNodeSocketTemplate sh_node_geom_out[]= { { SOCK_VECTOR, 0, "UV"}, { SOCK_VECTOR, 0, "Normal"}, { SOCK_RGBA, 0, "Vertex Color"}, + { SOCK_FLOAT, 0, "Vertex Alpha"}, { SOCK_FLOAT, 0, "Front/Back"}, { -1, 0, "" } }; @@ -91,10 +92,13 @@ static void node_shader_exec_geom(void *data, bNode *node, bNodeStack **UNUSED(i } copy_v3_v3(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; |