replace macros with bli math functions for nodes

This commit is contained in:
2011-11-06 16:23:28 +00:00
parent b05ee8b65f
commit 3d1e45c414
35 changed files with 80 additions and 80 deletions

View File

@@ -317,8 +317,8 @@ CompBuf *typecheck_compbuf(CompBuf *inbuf, int type)
if(inbuf->rect_procedural) { if(inbuf->rect_procedural) {
outbuf->rect_procedural= inbuf->rect_procedural; outbuf->rect_procedural= inbuf->rect_procedural;
VECCOPY(outbuf->procedural_size, inbuf->procedural_size); copy_v3_v3(outbuf->procedural_size, inbuf->procedural_size);
VECCOPY(outbuf->procedural_offset, inbuf->procedural_offset); copy_v3_v3(outbuf->procedural_offset, inbuf->procedural_offset);
outbuf->procedural_type= inbuf->procedural_type; outbuf->procedural_type= inbuf->procedural_type;
outbuf->node= inbuf->node; outbuf->node= inbuf->node;
return outbuf; return outbuf;
@@ -707,12 +707,12 @@ void do_ycca_to_rgba(bNode *UNUSED(node), float *out, float *in)
void do_copy_rgba(bNode *UNUSED(node), float *out, float *in) void do_copy_rgba(bNode *UNUSED(node), float *out, float *in)
{ {
QUATCOPY(out, in); copy_v4_v4(out, in);
} }
void do_copy_rgb(bNode *UNUSED(node), float *out, float *in) void do_copy_rgb(bNode *UNUSED(node), float *out, float *in)
{ {
VECCOPY(out, in); copy_v3_v3(out, in);
out[3]= 1.0f; out[3]= 1.0f;
} }
@@ -723,7 +723,7 @@ void do_copy_value(bNode *UNUSED(node), float *out, float *in)
void do_copy_a_rgba(bNode *UNUSED(node), float *out, float *in, float *fac) void do_copy_a_rgba(bNode *UNUSED(node), float *out, float *in, float *fac)
{ {
VECCOPY(out, in); copy_v3_v3(out, in);
out[3]= *fac; out[3]= *fac;
} }

View File

@@ -48,10 +48,10 @@ static void do_alphaover_premul(bNode *UNUSED(node), float *out, float *src, flo
{ {
if(over[3]<=0.0f) { if(over[3]<=0.0f) {
QUATCOPY(out, src); copy_v4_v4(out, src);
} }
else if(fac[0]==1.0f && over[3]>=1.0f) { else if(fac[0]==1.0f && over[3]>=1.0f) {
QUATCOPY(out, over); copy_v4_v4(out, over);
} }
else { else {
float mul= 1.0f - fac[0]*over[3]; float mul= 1.0f - fac[0]*over[3];
@@ -68,10 +68,10 @@ static void do_alphaover_key(bNode *UNUSED(node), float *out, float *src, float
{ {
if(over[3]<=0.0f) { if(over[3]<=0.0f) {
QUATCOPY(out, src); copy_v4_v4(out, src);
} }
else if(fac[0]==1.0f && over[3]>=1.0f) { else if(fac[0]==1.0f && over[3]>=1.0f) {
QUATCOPY(out, over); copy_v4_v4(out, over);
} }
else { else {
float premul= fac[0]*over[3]; float premul= fac[0]*over[3];
@@ -89,10 +89,10 @@ static void do_alphaover_mixed(bNode *node, float *out, float *src, float *over,
{ {
if(over[3]<=0.0f) { if(over[3]<=0.0f) {
QUATCOPY(out, src); copy_v4_v4(out, src);
} }
else if(fac[0]==1.0f && over[3]>=1.0f) { else if(fac[0]==1.0f && over[3]>=1.0f) {
QUATCOPY(out, over); copy_v4_v4(out, over);
} }
else { else {
NodeTwoFloats *ntf= node->storage; NodeTwoFloats *ntf= node->storage;

View File

@@ -512,7 +512,7 @@ static void blur_with_reference(bNode *node, CompBuf *new, CompBuf *img, CompBuf
if(pix==1) if(pix==1)
dest[0]= src[0]; dest[0]= src[0];
else else
QUATCOPY(dest, src); copy_v4_v4(dest, src);
} }
else { else {
int minxr= x-refradx<0?-x:-refradx; int minxr= x-refradx<0?-x:-refradx;

View File

@@ -52,7 +52,7 @@ static void do_color_key(bNode *node, float *out, float *in)
c=node->storage; c=node->storage;
VECCOPY(out, in); copy_v3_v3(out, in);
if( if(
/* do hue last because it needs to wrap, and does some more checks */ /* do hue last because it needs to wrap, and does some more checks */

View File

@@ -144,7 +144,7 @@ static void do_curves_fac(bNode *node, float *out, float *in, float *fac)
if(*fac>=1.0) if(*fac>=1.0)
curvemapping_evaluate_premulRGBF(node->storage, out, in); curvemapping_evaluate_premulRGBF(node->storage, out, in);
else if(*fac<=0.0) { else if(*fac<=0.0) {
VECCOPY(out, in); copy_v3_v3(out, in);
} }
else { else {
float col[4], mfac= 1.0f-*fac; float col[4], mfac= 1.0f-*fac;

View File

@@ -60,7 +60,7 @@ static void do_diff_matte(bNode *node, float *outColor, float *inColor1, float *
/*average together the distances*/ /*average together the distances*/
difference=difference/3.0; difference=difference/3.0;
VECCOPY(outColor, inColor1); copy_v3_v3(outColor, inColor1);
/*make 100% transparent*/ /*make 100% transparent*/
if(difference < tolerence) { if(difference < tolerence) {

View File

@@ -59,7 +59,7 @@ static void do_distance_matte(bNode *node, float *out, float *in)
(c->key[1]-in[1])*(c->key[1]-in[1]) + (c->key[1]-in[1])*(c->key[1]-in[1]) +
(c->key[2]-in[2])*(c->key[2]-in[2])); (c->key[2]-in[2])*(c->key[2]-in[2]));
VECCOPY(out, in); copy_v3_v3(out, in);
/*make 100% transparent */ /*make 100% transparent */
if(distance < tolerence) { if(distance < tolerence) {

View File

@@ -64,7 +64,7 @@ static void do_filter_edge(CompBuf *out, CompBuf *in, float *filter, float fac)
fp= out->rect + pix*y*rowlen; fp= out->rect + pix*y*rowlen;
if(pix==CB_RGBA) { if(pix==CB_RGBA) {
QUATCOPY(fp, row2); copy_v4_v4(fp, row2);
fp+= pix; fp+= pix;
for(x=2; x<rowlen; x++) { for(x=2; x<rowlen; x++) {
@@ -78,7 +78,7 @@ static void do_filter_edge(CompBuf *out, CompBuf *in, float *filter, float fac)
/* no alpha... will clear it completely */ /* no alpha... will clear it completely */
fp++; row1++; row2++; row3++; fp++; row1++; row2++; row3++;
} }
QUATCOPY(fp, row2+4); copy_v4_v4(fp, row2+4);
} }
else if(pix==CB_VAL) { else if(pix==CB_VAL) {
fp+= pix; fp+= pix;
@@ -138,7 +138,7 @@ static void do_filter3(CompBuf *out, CompBuf *in, float *filter, float fac)
fp[1]= row2[3]; fp[1]= row2[3];
} }
else if(pixlen==3) { else if(pixlen==3) {
VECCOPY(fp, row2); copy_v3_v3(fp, row2);
fp+= 3; fp+= 3;
for(x=2; x<rowlen; x++) { for(x=2; x<rowlen; x++) {
@@ -147,10 +147,10 @@ static void do_filter3(CompBuf *out, CompBuf *in, float *filter, float fac)
fp++; row1++; row2++; row3++; fp++; row1++; row2++; row3++;
} }
} }
VECCOPY(fp, row2+3); copy_v3_v3(fp, row2+3);
} }
else { else {
QUATCOPY(fp, row2); copy_v4_v4(fp, row2);
fp+= 4; fp+= 4;
for(x=2; x<rowlen; x++) { for(x=2; x<rowlen; x++) {
@@ -159,7 +159,7 @@ static void do_filter3(CompBuf *out, CompBuf *in, float *filter, float fac)
fp++; row1++; row2++; row3++; fp++; row1++; row2++; row3++;
} }
} }
QUATCOPY(fp, row2+4); copy_v4_v4(fp, row2+4);
} }
} }
} }

View File

@@ -64,7 +64,7 @@ static void do_hue_sat_fac(bNode *node, float *out, float *in, float *fac)
out[3]= in[3]; out[3]= in[3];
} }
else { else {
QUATCOPY(out, in); copy_v4_v4(out, in);
} }
} }

View File

@@ -50,7 +50,7 @@ static void do_invert(bNode *node, float *out, float *in)
out[1] = 1.0f - in[1]; out[1] = 1.0f - in[1];
out[2] = 1.0f - in[2]; out[2] = 1.0f - in[2];
} else } else
VECCOPY(out, in); copy_v3_v3(out, in);
if(node->custom1 & CMP_CHAN_A) if(node->custom1 & CMP_CHAN_A)
out[3] = 1.0f - in[3]; out[3] = 1.0f - in[3];
@@ -75,7 +75,7 @@ static void do_invert_fac(bNode *node, float *out, float *in, float *fac)
if(node->custom1 & CMP_CHAN_A) if(node->custom1 & CMP_CHAN_A)
col[3] = fac[0]*col[3] + (facm*in[3]); col[3] = fac[0]*col[3] + (facm*in[3]);
QUATCOPY(out, col); copy_v4_v4(out, col);
} }
static void node_composit_exec_invert(void *UNUSED(data), bNode *node, bNodeStack **in, bNodeStack **out) static void node_composit_exec_invert(void *UNUSED(data), bNode *node, bNodeStack **in, bNodeStack **out)

View File

@@ -47,12 +47,12 @@ static void do_mix_rgb(bNode *node, float *out, float *in1, float *in2, float *f
{ {
float col[3]; float col[3];
VECCOPY(col, in1); copy_v3_v3(col, in1);
if(node->custom2) if(node->custom2)
ramp_blend(node->custom1, col, col+1, col+2, in2[3]*fac[0], in2); ramp_blend(node->custom1, col, col+1, col+2, in2[3]*fac[0], in2);
else else
ramp_blend(node->custom1, col, col+1, col+2, fac[0], in2); ramp_blend(node->custom1, col, col+1, col+2, fac[0], in2);
VECCOPY(out, col); copy_v3_v3(out, col);
out[3]= in1[3]; out[3]= in1[3];
} }

View File

@@ -64,7 +64,7 @@ static void node_composit_exec_normal(void *UNUSED(data), bNode *node, bNodeStac
/* input no image? then only vector op */ /* input no image? then only vector op */
if(in[0]->data==NULL) { if(in[0]->data==NULL) {
VECCOPY(out[0]->vec, nor); copy_v3_v3(out[0]->vec, nor);
/* render normals point inside... the widget points outside */ /* render normals point inside... the widget points outside */
out[1]->vec[0]= -dot_v3v3(out[0]->vec, in[0]->vec); out[1]->vec[0]= -dot_v3v3(out[0]->vec, in[0]->vec);
} }

View File

@@ -69,7 +69,7 @@ static void node_composit_exec_normalize(void *UNUSED(data), bNode *node, bNodeS
/* Input has no image buffer? Then pass the value */ /* Input has no image buffer? Then pass the value */
if(in[0]->data==NULL) { if(in[0]->data==NULL) {
QUATCOPY(out[0]->vec, in[0]->vec); copy_v4_v4(out[0]->vec, in[0]->vec);
} }
else { else {
float min = 1.0f+BLENDER_ZMAX; float min = 1.0f+BLENDER_ZMAX;

View File

@@ -55,7 +55,7 @@ static void node_composit_exec_rgb(void *UNUSED(data), bNode *node, bNodeStack *
bNodeSocket *sock= node->outputs.first; bNodeSocket *sock= node->outputs.first;
float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value; float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
QUATCOPY(out[0]->vec, col); copy_v4_v4(out[0]->vec, col);
} }
void register_node_type_cmp_rgb(ListBase *lb) void register_node_type_cmp_rgb(ListBase *lb)

View File

@@ -42,10 +42,10 @@ static bNodeSocketTemplate cmp_node_splitviewer_in[]= {
static void do_copy_split_rgba(bNode *UNUSED(node), float *out, float *in1, float *in2, float *fac) static void do_copy_split_rgba(bNode *UNUSED(node), float *out, float *in1, float *in2, float *fac)
{ {
if(*fac==0.0f) { if(*fac==0.0f) {
QUATCOPY(out, in1); copy_v4_v4(out, in1);
} }
else { else {
QUATCOPY(out, in2); copy_v4_v4(out, in2);
} }
} }

View File

@@ -80,7 +80,7 @@ static void texture_procedural(CompBuf *cbuf, float *out, float xco, float yco)
else col[0]= col[1]= col[2]= col[3]; else col[0]= col[1]= col[2]= col[3];
} }
else { else {
VECCOPY(col, nor); copy_v3_v3(col, nor);
} }
typecheck_compbuf_color(out, col, cbuf->type, cbuf->procedural_type); typecheck_compbuf_color(out, col, cbuf->type, cbuf->procedural_type);
@@ -101,8 +101,8 @@ static void node_composit_exec_texture(void *data, bNode *node, bNodeStack **in,
prevbuf->rect_procedural= texture_procedural; prevbuf->rect_procedural= texture_procedural;
prevbuf->node= node; prevbuf->node= node;
VECCOPY(prevbuf->procedural_offset, in[0]->vec); copy_v3_v3(prevbuf->procedural_offset, in[0]->vec);
VECCOPY(prevbuf->procedural_size, in[1]->vec); copy_v3_v3(prevbuf->procedural_size, in[1]->vec);
prevbuf->procedural_type= CB_RGBA; prevbuf->procedural_type= CB_RGBA;
composit1_pixel_processor(node, prevbuf, prevbuf, out[0]->vec, do_copy_rgba, CB_RGBA); composit1_pixel_processor(node, prevbuf, prevbuf, out[0]->vec, do_copy_rgba, CB_RGBA);
@@ -118,8 +118,8 @@ static void node_composit_exec_texture(void *data, bNode *node, bNodeStack **in,
stackbuf->rect_procedural= texture_procedural; stackbuf->rect_procedural= texture_procedural;
stackbuf->node= node; stackbuf->node= node;
VECCOPY(stackbuf->procedural_offset, in[0]->vec); copy_v3_v3(stackbuf->procedural_offset, in[0]->vec);
VECCOPY(stackbuf->procedural_size, in[1]->vec); copy_v3_v3(stackbuf->procedural_size, in[1]->vec);
stackbuf->procedural_type= CB_VAL; stackbuf->procedural_type= CB_VAL;
composit1_pixel_processor(node, stackbuf, stackbuf, out[0]->vec, do_copy_value, CB_VAL); composit1_pixel_processor(node, stackbuf, stackbuf, out[0]->vec, do_copy_value, CB_VAL);
stackbuf->rect_procedural= NULL; stackbuf->rect_procedural= NULL;
@@ -131,8 +131,8 @@ static void node_composit_exec_texture(void *data, bNode *node, bNodeStack **in,
stackbuf->rect_procedural= texture_procedural; stackbuf->rect_procedural= texture_procedural;
stackbuf->node= node; stackbuf->node= node;
VECCOPY(stackbuf->procedural_offset, in[0]->vec); copy_v3_v3(stackbuf->procedural_offset, in[0]->vec);
VECCOPY(stackbuf->procedural_size, in[1]->vec); copy_v3_v3(stackbuf->procedural_size, in[1]->vec);
stackbuf->procedural_type= CB_RGBA; stackbuf->procedural_type= CB_RGBA;
composit1_pixel_processor(node, stackbuf, stackbuf, out[0]->vec, do_copy_rgba, CB_RGBA); composit1_pixel_processor(node, stackbuf, stackbuf, out[0]->vec, do_copy_rgba, CB_RGBA);
stackbuf->rect_procedural= NULL; stackbuf->rect_procedural= NULL;

View File

@@ -65,7 +65,7 @@ static void do_zcombine(bNode *node, float *out, float *src1, float *z1, float *
} }
else { else {
// do combination based solely on z value // do combination based solely on z value
QUATCOPY(out, src1); copy_v4_v4(out, src1);
} }
} }
else { else {
@@ -80,7 +80,7 @@ static void do_zcombine(bNode *node, float *out, float *src1, float *z1, float *
} }
else { else {
// do combination based solely on z value // do combination based solely on z value
QUATCOPY(out, src1); copy_v4_v4(out, src1);
} }
if(node->custom2) if(node->custom2)

View File

@@ -55,12 +55,12 @@ void nodestack_get_vec(float *in, short type_in, bNodeStack *ns)
in[2]= from[0]; in[2]= from[0];
} }
else { else {
VECCOPY(in, from); copy_v3_v3(in, from);
} }
} }
else { /* type_in==SOCK_RGBA */ else { /* type_in==SOCK_RGBA */
if(ns->sockettype==SOCK_RGBA) { if(ns->sockettype==SOCK_RGBA) {
QUATCOPY(in, from); copy_v4_v4(in, from);
} }
else if(ns->sockettype==SOCK_FLOAT) { else if(ns->sockettype==SOCK_FLOAT) {
in[0]= from[0]; in[0]= from[0];
@@ -69,7 +69,7 @@ void nodestack_get_vec(float *in, short type_in, bNodeStack *ns)
in[3]= 1.0f; in[3]= 1.0f;
} }
else { else {
VECCOPY(in, from); copy_v3_v3(in, from);
in[3]= 1.0f; in[3]= 1.0f;
} }
} }
@@ -140,13 +140,13 @@ void nodeShaderSynchronizeID(bNode *node, int copyto)
if(copyto) { if(copyto) {
switch(a) { switch(a) {
case MAT_IN_COLOR: case MAT_IN_COLOR:
VECCOPY(&ma->r, ((bNodeSocketValueRGBA*)sock->default_value)->value); break; copy_v3_v3(&ma->r, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
case MAT_IN_SPEC: case MAT_IN_SPEC:
VECCOPY(&ma->specr, ((bNodeSocketValueRGBA*)sock->default_value)->value); break; copy_v3_v3(&ma->specr, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
case MAT_IN_REFL: case MAT_IN_REFL:
ma->ref= ((bNodeSocketValueFloat*)sock->default_value)->value; break; ma->ref= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
case MAT_IN_MIR: case MAT_IN_MIR:
VECCOPY(&ma->mirr, ((bNodeSocketValueRGBA*)sock->default_value)->value); break; copy_v3_v3(&ma->mirr, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
case MAT_IN_AMB: case MAT_IN_AMB:
ma->amb= ((bNodeSocketValueFloat*)sock->default_value)->value; break; ma->amb= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
case MAT_IN_EMIT: case MAT_IN_EMIT:
@@ -164,13 +164,13 @@ void nodeShaderSynchronizeID(bNode *node, int copyto)
else { else {
switch(a) { switch(a) {
case MAT_IN_COLOR: case MAT_IN_COLOR:
VECCOPY(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->r); break; copy_v3_v3(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->r); break;
case MAT_IN_SPEC: case MAT_IN_SPEC:
VECCOPY(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->specr); break; copy_v3_v3(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->specr); break;
case MAT_IN_REFL: case MAT_IN_REFL:
((bNodeSocketValueFloat*)sock->default_value)->value= ma->ref; break; ((bNodeSocketValueFloat*)sock->default_value)->value= ma->ref; break;
case MAT_IN_MIR: case MAT_IN_MIR:
VECCOPY(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->mirr); break; copy_v3_v3(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->mirr); break;
case MAT_IN_AMB: case MAT_IN_AMB:
((bNodeSocketValueFloat*)sock->default_value)->value= ma->amb; break; ((bNodeSocketValueFloat*)sock->default_value)->value= ma->amb; break;
case MAT_IN_EMIT: case MAT_IN_EMIT:
@@ -196,7 +196,7 @@ void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, bNodeStack *ns)
{ {
memset(gs, 0, sizeof(*gs)); memset(gs, 0, sizeof(*gs));
QUATCOPY(gs->vec, ns->vec); copy_v4_v4(gs->vec, ns->vec);
gs->link= ns->data; gs->link= ns->data;
if (type == SOCK_FLOAT) if (type == SOCK_FLOAT)

View File

@@ -46,7 +46,7 @@ static void node_shader_exec_camera(void *data, bNode *UNUSED(node), bNodeStack
if(data) { if(data) {
ShadeInput *shi= ((ShaderCallData *)data)->shi; /* Data we need for shading. */ ShadeInput *shi= ((ShaderCallData *)data)->shi; /* Data we need for shading. */
VECCOPY(out[0]->vec, shi->co); /* get view vector */ copy_v3_v3(out[0]->vec, shi->co); /* get view vector */
out[1]->vec[0]= fabs(shi->co[2]); /* get view z-depth */ out[1]->vec[0]= fabs(shi->co[2]); /* get view z-depth */
out[2]->vec[0]= normalize_v3(out[0]->vec); /* get view distance */ out[2]->vec[0]= normalize_v3(out[0]->vec); /* get view distance */
} }

View File

@@ -90,7 +90,7 @@ static void node_shader_exec_geom(void *data, bNode *node, bNodeStack **UNUSED(i
} }
} }
VECCOPY(out[GEOM_OUT_VCOL]->vec, scol->col); copy_v3_v3(out[GEOM_OUT_VCOL]->vec, scol->col);
out[GEOM_OUT_VCOL]->vec[3]= 1.0f; out[GEOM_OUT_VCOL]->vec[3]= 1.0f;
} }
else else

View File

@@ -65,7 +65,7 @@ static void do_hue_sat_fac(bNode *UNUSED(node), float *out, float *hue, float *s
out[2]= mfac*in[2] + *fac*col[2]; out[2]= mfac*in[2] + *fac*col[2];
} }
else { else {
QUATCOPY(out, in); copy_v4_v4(out, in);
} }
} }

View File

@@ -64,7 +64,7 @@ bNodeStack **out)
col[2] = in[0]->vec[0]*col[2] + (facm*in[1]->vec[2]); col[2] = in[0]->vec[0]*col[2] + (facm*in[1]->vec[2]);
} }
VECCOPY(out[0]->vec, col); copy_v3_v3(out[0]->vec, col);
} }
static int gpu_shader_invert(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) static int gpu_shader_invert(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out)

View File

@@ -148,13 +148,13 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
/* write to outputs */ /* write to outputs */
if(node->custom1 & SH_NODE_MAT_DIFF) { if(node->custom1 & SH_NODE_MAT_DIFF) {
VECCOPY(col, shrnode.combined); copy_v3_v3(col, shrnode.combined);
if(!(node->custom1 & SH_NODE_MAT_SPEC)) { if(!(node->custom1 & SH_NODE_MAT_SPEC)) {
sub_v3_v3(col, shrnode.spec); sub_v3_v3(col, shrnode.spec);
} }
} }
else if(node->custom1 & SH_NODE_MAT_SPEC) { else if(node->custom1 & SH_NODE_MAT_SPEC) {
VECCOPY(col, shrnode.spec); copy_v3_v3(col, shrnode.spec);
} }
else else
col[0]= col[1]= col[2]= 0.0f; col[0]= col[1]= col[2]= 0.0f;
@@ -164,7 +164,7 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
if(shi->do_preview) if(shi->do_preview)
nodeAddToPreview(node, col, shi->xs, shi->ys, shi->do_manage); nodeAddToPreview(node, col, shi->xs, shi->ys, shi->do_manage);
VECCOPY(out[MAT_OUT_COLOR]->vec, col); copy_v3_v3(out[MAT_OUT_COLOR]->vec, col);
out[MAT_OUT_ALPHA]->vec[0]= shrnode.alpha; out[MAT_OUT_ALPHA]->vec[0]= shrnode.alpha;
if(node->custom1 & SH_NODE_MAT_NEG) { if(node->custom1 & SH_NODE_MAT_NEG) {
@@ -173,15 +173,15 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
shi->vn[2]= -shi->vn[2]; shi->vn[2]= -shi->vn[2];
} }
VECCOPY(out[MAT_OUT_NORMAL]->vec, shi->vn); copy_v3_v3(out[MAT_OUT_NORMAL]->vec, shi->vn);
/* Extended material options */ /* Extended material options */
if (node->type == SH_NODE_MATERIAL_EXT) { if (node->type == SH_NODE_MATERIAL_EXT) {
/* Shadow, Reflect, Refract, Radiosity, Speed seem to cause problems inside /* Shadow, Reflect, Refract, Radiosity, Speed seem to cause problems inside
* a node tree :( */ * a node tree :( */
VECCOPY(out[MAT_OUT_DIFFUSE]->vec, shrnode.diff); copy_v3_v3(out[MAT_OUT_DIFFUSE]->vec, shrnode.diff);
VECCOPY(out[MAT_OUT_SPEC]->vec, shrnode.spec); copy_v3_v3(out[MAT_OUT_SPEC]->vec, shrnode.spec);
VECCOPY(out[MAT_OUT_AO]->vec, shrnode.ao); copy_v3_v3(out[MAT_OUT_AO]->vec, shrnode.ao);
} }
/* copy passes, now just active node */ /* copy passes, now just active node */

View File

@@ -59,7 +59,7 @@ static void node_shader_exec_mix_rgb(void *UNUSED(data), bNode *node, bNodeStack
nodestack_get_vec(vec, SOCK_VECTOR, in[2]); nodestack_get_vec(vec, SOCK_VECTOR, in[2]);
ramp_blend(node->custom1, col, col+1, col+2, fac, vec); ramp_blend(node->custom1, col, col+1, col+2, fac, vec);
VECCOPY(out[0]->vec, col); copy_v3_v3(out[0]->vec, col);
} }
static int gpu_shader_mix_rgb(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) static int gpu_shader_mix_rgb(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)

View File

@@ -66,7 +66,7 @@ static void node_shader_exec_normal(void *UNUSED(data), bNode *node, bNodeStack
nodestack_get_vec(vec, SOCK_VECTOR, in[0]); nodestack_get_vec(vec, SOCK_VECTOR, in[0]);
VECCOPY(out[0]->vec, ((bNodeSocketValueVector*)sock->default_value)->value); copy_v3_v3(out[0]->vec, ((bNodeSocketValueVector*)sock->default_value)->value);
/* render normals point inside... the widget points outside */ /* render normals point inside... the widget points outside */
out[1]->vec[0]= -INPR(out[0]->vec, vec); out[1]->vec[0]= -INPR(out[0]->vec, vec);
} }

View File

@@ -57,10 +57,10 @@ static void node_shader_exec_output(void *data, bNode *node, bNodeStack **in, bN
if(node->flag & NODE_DO_OUTPUT) { if(node->flag & NODE_DO_OUTPUT) {
ShadeResult *shr= ((ShaderCallData *)data)->shr; ShadeResult *shr= ((ShaderCallData *)data)->shr;
QUATCOPY(shr->combined, col); copy_v4_v4(shr->combined, col);
shr->alpha= col[3]; shr->alpha= col[3];
// VECCOPY(shr->nor, in[3]->vec); // copy_v3_v3(shr->nor, in[3]->vec);
} }
} }
} }

View File

@@ -54,7 +54,7 @@ static void node_shader_exec_rgb(void *UNUSED(data), bNode *node, bNodeStack **U
bNodeSocket *sock= node->outputs.first; bNodeSocket *sock= node->outputs.first;
float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value; float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
VECCOPY(out[0]->vec, col); copy_v3_v3(out[0]->vec, col);
} }
static int gpu_shader_rgb(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) static int gpu_shader_rgb(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)

View File

@@ -82,7 +82,7 @@ static void node_shader_exec_texture(void *data, bNode *node, bNodeStack **in, b
retval= multitex_nodes((Tex *)node->id, vec, NULL, NULL, 0, &texres, thread, which_output, NULL, NULL); retval= multitex_nodes((Tex *)node->id, vec, NULL, NULL, 0, &texres, thread, which_output, NULL, NULL);
} }
else { else {
VECCOPY(vec, shi->lo); copy_v3_v3(vec, shi->lo);
retval= multitex_nodes((Tex *)node->id, vec, NULL, NULL, 0, &texres, thread, which_output, NULL, NULL); retval= multitex_nodes((Tex *)node->id, vec, NULL, NULL, 0, &texres, thread, which_output, NULL, NULL);
} }
@@ -111,7 +111,7 @@ static void node_shader_exec_texture(void *data, bNode *node, bNodeStack **in, b
out[1]->vec[3]= 1.0f; out[1]->vec[3]= 1.0f;
} }
VECCOPY(out[2]->vec, nor); copy_v3_v3(out[2]->vec, nor);
if(shi->do_preview) if(shi->do_preview)
nodeAddToPreview(node, out[1]->vec, shi->xs, shi->ys, shi->do_manage); nodeAddToPreview(node, out[1]->vec, shi->xs, shi->ys, shi->do_manage);

View File

@@ -107,9 +107,9 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
if( ins_x < mortar_thickness || ins_y < mortar_thickness || if( ins_x < mortar_thickness || ins_y < mortar_thickness ||
ins_x > (brick_width - mortar_thickness) || ins_x > (brick_width - mortar_thickness) ||
ins_y > (row_height - mortar_thickness) ) { ins_y > (row_height - mortar_thickness) ) {
QUATCOPY( out, mortar ); copy_v4_v4( out, mortar );
} else { } else {
QUATCOPY( out, bricks1 ); copy_v4_v4( out, bricks1 );
ramp_blend( MA_RAMP_BLEND, out, out+1, out+2, tint, bricks2 ); ramp_blend( MA_RAMP_BLEND, out, out+1, out+2, tint, bricks2 );
} }
} }

View File

@@ -66,7 +66,7 @@ static void do_hue_sat_fac(bNode *UNUSED(node), float *out, float hue, float sat
out[2]= mfac*in[2] + fac*col[2]; out[2]= mfac*in[2] + fac*col[2];
} }
else { else {
QUATCOPY(out, in); copy_v4_v4(out, in);
} }
} }

View File

@@ -76,7 +76,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **UNUSED(i
while( py >= ibuf->y ) py -= ibuf->y; while( py >= ibuf->y ) py -= ibuf->y;
result = ibuf->rect_float + py*ibuf->x*4 + px*4; result = ibuf->rect_float + py*ibuf->x*4 + px*4;
QUATCOPY( out, result ); copy_v4_v4( out, result );
} }
} }
} }

View File

@@ -54,7 +54,7 @@ static void colorfn(float *out, TexParams *p, bNode *UNUSED(node), bNodeStack **
col[1] = 1.0f - col[1]; col[1] = 1.0f - col[1];
col[2] = 1.0f - col[2]; col[2] = 1.0f - col[2];
VECCOPY(out, col); copy_v3_v3(out, col);
out[3] = col[3]; out[3] = col[3];
} }

View File

@@ -55,7 +55,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
CLAMP(fac, 0.0f, 1.0f); CLAMP(fac, 0.0f, 1.0f);
QUATCOPY(out, col1); copy_v4_v4(out, col1);
ramp_blend(node->custom1, out, out+1, out+2, fac, col2); ramp_blend(node->custom1, out, out+1, out+2, fac, col2);
} }

View File

@@ -75,10 +75,10 @@ static void do_proc(float *result, TexParams *p, float *col1, float *col2, char
return; return;
if(textype & TEX_RGB) { if(textype & TEX_RGB) {
QUATCOPY(result, &texres.tr); copy_v4_v4(result, &texres.tr);
} }
else { else {
QUATCOPY(result, col1); copy_v4_v4(result, col1);
ramp_blend(MA_RAMP_BLEND, result, result+1, result+2, texres.tin, col2); ramp_blend(MA_RAMP_BLEND, result, result+1, result+2, texres.tin, col2);
} }
} }

View File

@@ -65,7 +65,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
if(node->custom2 || node->need_exec==0) { if(node->custom2 || node->need_exec==0) {
/* this node refers to its own texture tree! */ /* this node refers to its own texture tree! */
QUATCOPY(out, (fabs(co[0] - co[1]) < .01) ? white : red ); copy_v4_v4(out, (fabs(co[0] - co[1]) < .01) ? white : red );
} }
else if(nodetex) { else if(nodetex) {
TexResult texres; TexResult texres;
@@ -81,10 +81,10 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
&texres, thread, 0, p->shi, p->mtex); &texres, thread, 0, p->shi, p->mtex);
if(textype & TEX_RGB) { if(textype & TEX_RGB) {
QUATCOPY(out, &texres.tr); copy_v4_v4(out, &texres.tr);
} }
else { else {
QUATCOPY(out, col1); copy_v4_v4(out, col1);
ramp_blend(MA_RAMP_BLEND, out, out+1, out+2, texres.tin, col2); ramp_blend(MA_RAMP_BLEND, out, out+1, out+2, texres.tin, col2);
} }
} }