replace macros with bli math functions for nodes
This commit is contained in:
@@ -317,8 +317,8 @@ CompBuf *typecheck_compbuf(CompBuf *inbuf, int type)
|
||||
|
||||
if(inbuf->rect_procedural) {
|
||||
outbuf->rect_procedural= inbuf->rect_procedural;
|
||||
VECCOPY(outbuf->procedural_size, inbuf->procedural_size);
|
||||
VECCOPY(outbuf->procedural_offset, inbuf->procedural_offset);
|
||||
copy_v3_v3(outbuf->procedural_size, inbuf->procedural_size);
|
||||
copy_v3_v3(outbuf->procedural_offset, inbuf->procedural_offset);
|
||||
outbuf->procedural_type= inbuf->procedural_type;
|
||||
outbuf->node= inbuf->node;
|
||||
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)
|
||||
{
|
||||
QUATCOPY(out, in);
|
||||
copy_v4_v4(out, in);
|
||||
}
|
||||
|
||||
void do_copy_rgb(bNode *UNUSED(node), float *out, float *in)
|
||||
{
|
||||
VECCOPY(out, in);
|
||||
copy_v3_v3(out, in);
|
||||
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)
|
||||
{
|
||||
VECCOPY(out, in);
|
||||
copy_v3_v3(out, in);
|
||||
out[3]= *fac;
|
||||
}
|
||||
|
||||
|
||||
@@ -48,10 +48,10 @@ static void do_alphaover_premul(bNode *UNUSED(node), float *out, float *src, flo
|
||||
{
|
||||
|
||||
if(over[3]<=0.0f) {
|
||||
QUATCOPY(out, src);
|
||||
copy_v4_v4(out, src);
|
||||
}
|
||||
else if(fac[0]==1.0f && over[3]>=1.0f) {
|
||||
QUATCOPY(out, over);
|
||||
copy_v4_v4(out, over);
|
||||
}
|
||||
else {
|
||||
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) {
|
||||
QUATCOPY(out, src);
|
||||
copy_v4_v4(out, src);
|
||||
}
|
||||
else if(fac[0]==1.0f && over[3]>=1.0f) {
|
||||
QUATCOPY(out, over);
|
||||
copy_v4_v4(out, over);
|
||||
}
|
||||
else {
|
||||
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) {
|
||||
QUATCOPY(out, src);
|
||||
copy_v4_v4(out, src);
|
||||
}
|
||||
else if(fac[0]==1.0f && over[3]>=1.0f) {
|
||||
QUATCOPY(out, over);
|
||||
copy_v4_v4(out, over);
|
||||
}
|
||||
else {
|
||||
NodeTwoFloats *ntf= node->storage;
|
||||
|
||||
@@ -512,7 +512,7 @@ static void blur_with_reference(bNode *node, CompBuf *new, CompBuf *img, CompBuf
|
||||
if(pix==1)
|
||||
dest[0]= src[0];
|
||||
else
|
||||
QUATCOPY(dest, src);
|
||||
copy_v4_v4(dest, src);
|
||||
}
|
||||
else {
|
||||
int minxr= x-refradx<0?-x:-refradx;
|
||||
|
||||
@@ -52,7 +52,7 @@ static void do_color_key(bNode *node, float *out, float *in)
|
||||
c=node->storage;
|
||||
|
||||
|
||||
VECCOPY(out, in);
|
||||
copy_v3_v3(out, in);
|
||||
|
||||
if(
|
||||
/* do hue last because it needs to wrap, and does some more checks */
|
||||
|
||||
@@ -144,7 +144,7 @@ static void do_curves_fac(bNode *node, float *out, float *in, float *fac)
|
||||
if(*fac>=1.0)
|
||||
curvemapping_evaluate_premulRGBF(node->storage, out, in);
|
||||
else if(*fac<=0.0) {
|
||||
VECCOPY(out, in);
|
||||
copy_v3_v3(out, in);
|
||||
}
|
||||
else {
|
||||
float col[4], mfac= 1.0f-*fac;
|
||||
|
||||
@@ -60,7 +60,7 @@ static void do_diff_matte(bNode *node, float *outColor, float *inColor1, float *
|
||||
/*average together the distances*/
|
||||
difference=difference/3.0;
|
||||
|
||||
VECCOPY(outColor, inColor1);
|
||||
copy_v3_v3(outColor, inColor1);
|
||||
|
||||
/*make 100% transparent*/
|
||||
if(difference < tolerence) {
|
||||
|
||||
@@ -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[2]-in[2])*(c->key[2]-in[2]));
|
||||
|
||||
VECCOPY(out, in);
|
||||
copy_v3_v3(out, in);
|
||||
|
||||
/*make 100% transparent */
|
||||
if(distance < tolerence) {
|
||||
|
||||
@@ -64,7 +64,7 @@ static void do_filter_edge(CompBuf *out, CompBuf *in, float *filter, float fac)
|
||||
fp= out->rect + pix*y*rowlen;
|
||||
|
||||
if(pix==CB_RGBA) {
|
||||
QUATCOPY(fp, row2);
|
||||
copy_v4_v4(fp, row2);
|
||||
fp+= pix;
|
||||
|
||||
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 */
|
||||
fp++; row1++; row2++; row3++;
|
||||
}
|
||||
QUATCOPY(fp, row2+4);
|
||||
copy_v4_v4(fp, row2+4);
|
||||
}
|
||||
else if(pix==CB_VAL) {
|
||||
fp+= pix;
|
||||
@@ -138,7 +138,7 @@ static void do_filter3(CompBuf *out, CompBuf *in, float *filter, float fac)
|
||||
fp[1]= row2[3];
|
||||
}
|
||||
else if(pixlen==3) {
|
||||
VECCOPY(fp, row2);
|
||||
copy_v3_v3(fp, row2);
|
||||
fp+= 3;
|
||||
|
||||
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++;
|
||||
}
|
||||
}
|
||||
VECCOPY(fp, row2+3);
|
||||
copy_v3_v3(fp, row2+3);
|
||||
}
|
||||
else {
|
||||
QUATCOPY(fp, row2);
|
||||
copy_v4_v4(fp, row2);
|
||||
fp+= 4;
|
||||
|
||||
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++;
|
||||
}
|
||||
}
|
||||
QUATCOPY(fp, row2+4);
|
||||
copy_v4_v4(fp, row2+4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ static void do_hue_sat_fac(bNode *node, float *out, float *in, float *fac)
|
||||
out[3]= in[3];
|
||||
}
|
||||
else {
|
||||
QUATCOPY(out, in);
|
||||
copy_v4_v4(out, in);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ static void do_invert(bNode *node, float *out, float *in)
|
||||
out[1] = 1.0f - in[1];
|
||||
out[2] = 1.0f - in[2];
|
||||
} else
|
||||
VECCOPY(out, in);
|
||||
copy_v3_v3(out, in);
|
||||
|
||||
if(node->custom1 & CMP_CHAN_A)
|
||||
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)
|
||||
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)
|
||||
|
||||
@@ -47,12 +47,12 @@ static void do_mix_rgb(bNode *node, float *out, float *in1, float *in2, float *f
|
||||
{
|
||||
float col[3];
|
||||
|
||||
VECCOPY(col, in1);
|
||||
copy_v3_v3(col, in1);
|
||||
if(node->custom2)
|
||||
ramp_blend(node->custom1, col, col+1, col+2, in2[3]*fac[0], in2);
|
||||
else
|
||||
ramp_blend(node->custom1, col, col+1, col+2, fac[0], in2);
|
||||
VECCOPY(out, col);
|
||||
copy_v3_v3(out, col);
|
||||
out[3]= in1[3];
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ static void node_composit_exec_normal(void *UNUSED(data), bNode *node, bNodeStac
|
||||
|
||||
/* input no image? then only vector op */
|
||||
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 */
|
||||
out[1]->vec[0]= -dot_v3v3(out[0]->vec, in[0]->vec);
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
if(in[0]->data==NULL) {
|
||||
QUATCOPY(out[0]->vec, in[0]->vec);
|
||||
copy_v4_v4(out[0]->vec, in[0]->vec);
|
||||
}
|
||||
else {
|
||||
float min = 1.0f+BLENDER_ZMAX;
|
||||
|
||||
@@ -55,7 +55,7 @@ static void node_composit_exec_rgb(void *UNUSED(data), bNode *node, bNodeStack *
|
||||
bNodeSocket *sock= node->outputs.first;
|
||||
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)
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
if(*fac==0.0f) {
|
||||
QUATCOPY(out, in1);
|
||||
copy_v4_v4(out, in1);
|
||||
}
|
||||
else {
|
||||
QUATCOPY(out, in2);
|
||||
copy_v4_v4(out, in2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
VECCOPY(col, nor);
|
||||
copy_v3_v3(col, nor);
|
||||
}
|
||||
|
||||
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->node= node;
|
||||
VECCOPY(prevbuf->procedural_offset, in[0]->vec);
|
||||
VECCOPY(prevbuf->procedural_size, in[1]->vec);
|
||||
copy_v3_v3(prevbuf->procedural_offset, in[0]->vec);
|
||||
copy_v3_v3(prevbuf->procedural_size, in[1]->vec);
|
||||
prevbuf->procedural_type= 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->node= node;
|
||||
VECCOPY(stackbuf->procedural_offset, in[0]->vec);
|
||||
VECCOPY(stackbuf->procedural_size, in[1]->vec);
|
||||
copy_v3_v3(stackbuf->procedural_offset, in[0]->vec);
|
||||
copy_v3_v3(stackbuf->procedural_size, in[1]->vec);
|
||||
stackbuf->procedural_type= CB_VAL;
|
||||
composit1_pixel_processor(node, stackbuf, stackbuf, out[0]->vec, do_copy_value, CB_VAL);
|
||||
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->node= node;
|
||||
VECCOPY(stackbuf->procedural_offset, in[0]->vec);
|
||||
VECCOPY(stackbuf->procedural_size, in[1]->vec);
|
||||
copy_v3_v3(stackbuf->procedural_offset, in[0]->vec);
|
||||
copy_v3_v3(stackbuf->procedural_size, in[1]->vec);
|
||||
stackbuf->procedural_type= CB_RGBA;
|
||||
composit1_pixel_processor(node, stackbuf, stackbuf, out[0]->vec, do_copy_rgba, CB_RGBA);
|
||||
stackbuf->rect_procedural= NULL;
|
||||
|
||||
@@ -65,7 +65,7 @@ static void do_zcombine(bNode *node, float *out, float *src1, float *z1, float *
|
||||
}
|
||||
else {
|
||||
// do combination based solely on z value
|
||||
QUATCOPY(out, src1);
|
||||
copy_v4_v4(out, src1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -80,7 +80,7 @@ static void do_zcombine(bNode *node, float *out, float *src1, float *z1, float *
|
||||
}
|
||||
else {
|
||||
// do combination based solely on z value
|
||||
QUATCOPY(out, src1);
|
||||
copy_v4_v4(out, src1);
|
||||
}
|
||||
|
||||
if(node->custom2)
|
||||
|
||||
@@ -55,12 +55,12 @@ void nodestack_get_vec(float *in, short type_in, bNodeStack *ns)
|
||||
in[2]= from[0];
|
||||
}
|
||||
else {
|
||||
VECCOPY(in, from);
|
||||
copy_v3_v3(in, from);
|
||||
}
|
||||
}
|
||||
else { /* type_in==SOCK_RGBA */
|
||||
if(ns->sockettype==SOCK_RGBA) {
|
||||
QUATCOPY(in, from);
|
||||
copy_v4_v4(in, from);
|
||||
}
|
||||
else if(ns->sockettype==SOCK_FLOAT) {
|
||||
in[0]= from[0];
|
||||
@@ -69,7 +69,7 @@ void nodestack_get_vec(float *in, short type_in, bNodeStack *ns)
|
||||
in[3]= 1.0f;
|
||||
}
|
||||
else {
|
||||
VECCOPY(in, from);
|
||||
copy_v3_v3(in, from);
|
||||
in[3]= 1.0f;
|
||||
}
|
||||
}
|
||||
@@ -140,13 +140,13 @@ void nodeShaderSynchronizeID(bNode *node, int copyto)
|
||||
if(copyto) {
|
||||
switch(a) {
|
||||
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:
|
||||
VECCOPY(&ma->specr, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
|
||||
copy_v3_v3(&ma->specr, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
|
||||
case MAT_IN_REFL:
|
||||
ma->ref= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
|
||||
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:
|
||||
ma->amb= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
|
||||
case MAT_IN_EMIT:
|
||||
@@ -164,13 +164,13 @@ void nodeShaderSynchronizeID(bNode *node, int copyto)
|
||||
else {
|
||||
switch(a) {
|
||||
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:
|
||||
VECCOPY(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->specr); break;
|
||||
copy_v3_v3(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->specr); break;
|
||||
case MAT_IN_REFL:
|
||||
((bNodeSocketValueFloat*)sock->default_value)->value= ma->ref; break;
|
||||
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:
|
||||
((bNodeSocketValueFloat*)sock->default_value)->value= ma->amb; break;
|
||||
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));
|
||||
|
||||
QUATCOPY(gs->vec, ns->vec);
|
||||
copy_v4_v4(gs->vec, ns->vec);
|
||||
gs->link= ns->data;
|
||||
|
||||
if (type == SOCK_FLOAT)
|
||||
|
||||
@@ -46,7 +46,7 @@ static void node_shader_exec_camera(void *data, bNode *UNUSED(node), bNodeStack
|
||||
if(data) {
|
||||
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[2]->vec[0]= normalize_v3(out[0]->vec); /* get view distance */
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
else {
|
||||
QUATCOPY(out, in);
|
||||
copy_v4_v4(out, in);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ bNodeStack **out)
|
||||
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)
|
||||
|
||||
@@ -148,13 +148,13 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
|
||||
|
||||
/* write to outputs */
|
||||
if(node->custom1 & SH_NODE_MAT_DIFF) {
|
||||
VECCOPY(col, shrnode.combined);
|
||||
copy_v3_v3(col, shrnode.combined);
|
||||
if(!(node->custom1 & SH_NODE_MAT_SPEC)) {
|
||||
sub_v3_v3(col, shrnode.spec);
|
||||
}
|
||||
}
|
||||
else if(node->custom1 & SH_NODE_MAT_SPEC) {
|
||||
VECCOPY(col, shrnode.spec);
|
||||
copy_v3_v3(col, shrnode.spec);
|
||||
}
|
||||
else
|
||||
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)
|
||||
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;
|
||||
|
||||
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];
|
||||
}
|
||||
|
||||
VECCOPY(out[MAT_OUT_NORMAL]->vec, shi->vn);
|
||||
copy_v3_v3(out[MAT_OUT_NORMAL]->vec, shi->vn);
|
||||
|
||||
/* Extended material options */
|
||||
if (node->type == SH_NODE_MATERIAL_EXT) {
|
||||
/* Shadow, Reflect, Refract, Radiosity, Speed seem to cause problems inside
|
||||
* a node tree :( */
|
||||
VECCOPY(out[MAT_OUT_DIFFUSE]->vec, shrnode.diff);
|
||||
VECCOPY(out[MAT_OUT_SPEC]->vec, shrnode.spec);
|
||||
VECCOPY(out[MAT_OUT_AO]->vec, shrnode.ao);
|
||||
copy_v3_v3(out[MAT_OUT_DIFFUSE]->vec, shrnode.diff);
|
||||
copy_v3_v3(out[MAT_OUT_SPEC]->vec, shrnode.spec);
|
||||
copy_v3_v3(out[MAT_OUT_AO]->vec, shrnode.ao);
|
||||
}
|
||||
|
||||
/* copy passes, now just active node */
|
||||
|
||||
@@ -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]);
|
||||
|
||||
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)
|
||||
|
||||
@@ -66,7 +66,7 @@ static void node_shader_exec_normal(void *UNUSED(data), bNode *node, bNodeStack
|
||||
|
||||
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 */
|
||||
out[1]->vec[0]= -INPR(out[0]->vec, vec);
|
||||
}
|
||||
|
||||
@@ -57,10 +57,10 @@ static void node_shader_exec_output(void *data, bNode *node, bNodeStack **in, bN
|
||||
if(node->flag & NODE_DO_OUTPUT) {
|
||||
ShadeResult *shr= ((ShaderCallData *)data)->shr;
|
||||
|
||||
QUATCOPY(shr->combined, col);
|
||||
copy_v4_v4(shr->combined, col);
|
||||
shr->alpha= col[3];
|
||||
|
||||
// VECCOPY(shr->nor, in[3]->vec);
|
||||
// copy_v3_v3(shr->nor, in[3]->vec);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ static void node_shader_exec_rgb(void *UNUSED(data), bNode *node, bNodeStack **U
|
||||
bNodeSocket *sock= node->outputs.first;
|
||||
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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ static void node_shader_exec_texture(void *data, bNode *node, bNodeStack **in, b
|
||||
out[1]->vec[3]= 1.0f;
|
||||
}
|
||||
|
||||
VECCOPY(out[2]->vec, nor);
|
||||
copy_v3_v3(out[2]->vec, nor);
|
||||
|
||||
if(shi->do_preview)
|
||||
nodeAddToPreview(node, out[1]->vec, shi->xs, shi->ys, shi->do_manage);
|
||||
|
||||
@@ -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 ||
|
||||
ins_x > (brick_width - mortar_thickness) ||
|
||||
ins_y > (row_height - mortar_thickness) ) {
|
||||
QUATCOPY( out, mortar );
|
||||
copy_v4_v4( out, mortar );
|
||||
} else {
|
||||
QUATCOPY( out, bricks1 );
|
||||
copy_v4_v4( out, bricks1 );
|
||||
ramp_blend( MA_RAMP_BLEND, out, out+1, out+2, tint, bricks2 );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
else {
|
||||
QUATCOPY(out, in);
|
||||
copy_v4_v4(out, in);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **UNUSED(i
|
||||
while( py >= ibuf->y ) py -= ibuf->y;
|
||||
|
||||
result = ibuf->rect_float + py*ibuf->x*4 + px*4;
|
||||
QUATCOPY( out, result );
|
||||
copy_v4_v4( out, result );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ static void colorfn(float *out, TexParams *p, bNode *UNUSED(node), bNodeStack **
|
||||
col[1] = 1.0f - col[1];
|
||||
col[2] = 1.0f - col[2];
|
||||
|
||||
VECCOPY(out, col);
|
||||
copy_v3_v3(out, col);
|
||||
out[3] = col[3];
|
||||
}
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -75,10 +75,10 @@ static void do_proc(float *result, TexParams *p, float *col1, float *col2, char
|
||||
return;
|
||||
|
||||
if(textype & TEX_RGB) {
|
||||
QUATCOPY(result, &texres.tr);
|
||||
copy_v4_v4(result, &texres.tr);
|
||||
}
|
||||
else {
|
||||
QUATCOPY(result, col1);
|
||||
copy_v4_v4(result, col1);
|
||||
ramp_blend(MA_RAMP_BLEND, result, result+1, result+2, texres.tin, col2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
|
||||
|
||||
if(node->custom2 || node->need_exec==0) {
|
||||
/* 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) {
|
||||
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);
|
||||
|
||||
if(textype & TEX_RGB) {
|
||||
QUATCOPY(out, &texres.tr);
|
||||
copy_v4_v4(out, &texres.tr);
|
||||
}
|
||||
else {
|
||||
QUATCOPY(out, col1);
|
||||
copy_v4_v4(out, col1);
|
||||
ramp_blend(MA_RAMP_BLEND, out, out+1, out+2, texres.tin, col2);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user