[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11202] trunk/blender/source/blender/nodes /intern/CMP_nodes/CMP_math.c: Committed patch fixing bug #6900.
Robert Holcomb
bob_holcomb at hotmail.com
Tue Jul 10 04:06:28 CEST 2007
Revision: 11202
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11202
Author: scourage
Date: 2007-07-10 04:06:10 +0200 (Tue, 10 Jul 2007)
Log Message:
-----------
Committed patch fixing bug #6900. Math node now has reflective
behavior.
Modified Paths:
--------------
trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c
Modified: trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c 2007-07-10 00:47:38 UTC (rev 11201)
+++ trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c 2007-07-10 02:06:10 UTC (rev 11202)
@@ -137,21 +137,30 @@
static void node_composit_exec_math(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
{
+ CompBuf *cbuf=in[0]->data;
+ CompBuf *cbuf2=in[1]->data;
+ CompBuf *stackbuf;
+ int maxx=-1, maxy=-1;
+
/* stack order out: bw */
/* stack order in: col */
if(out[0]->hasoutput==0)
return;
+ /* check max size */
+ if(cbuf) {
+ maxx=cbuf->x;
+ maxy=cbuf->y;
+ }
+ if(cbuf2) {
+ if(cbuf2->x > maxx) maxx=cbuf2->x;
+ if(cbuf2->y > maxy) maxy=cbuf2->y;
+ }
+
+ /* operate in case there's valid size */
+ if((maxx != -1) && (maxy !=-1)) {
+ stackbuf=alloc_compbuf(maxx, maxy, CB_VAL, 1); /* allocs */
- /* input no image? then only color operation */
- if(in[0]->data==NULL) {
- do_math(node, out[0]->vec, in[0]->vec, in[1]->vec);
- }
- else {
- /* make output size of input image */
- CompBuf *cbuf= in[0]->data;
- CompBuf *stackbuf= alloc_compbuf(cbuf->x, cbuf->y, CB_VAL, 1); /* allocs */
-
composit2_pixel_processor(node, stackbuf, in[0]->data, in[0]->vec, in[1]->data, in[1]->vec, do_math, CB_VAL, CB_VAL);
out[0]->data= stackbuf;
More information about the Bf-blender-cvs
mailing list