Revision: 42164
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42164
Author:   campbellbarton
Date:     2011-11-26 03:13:54 +0000 (Sat, 26 Nov 2011)
Log Message:
-----------
minor edit - weight_to_rgb() and ramp_blend() now take a float vector rather 
than 3 float pointers.
also make particle draw use a float vec.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h
    trunk/blender/source/blender/blenkernel/BKE_material.h
    trunk/blender/source/blender/blenkernel/BKE_particle.h
    trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
    trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c
    trunk/blender/source/blender/blenkernel/intern/material.c
    trunk/blender/source/blender/blenkernel/intern/particle.c
    trunk/blender/source/blender/editors/space_view3d/drawobject.c
    trunk/blender/source/blender/editors/uvedit/uvedit_draw.c
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_mixrgb.c
    trunk/blender/source/blender/nodes/shader/nodes/node_shader_mixRgb.c
    trunk/blender/source/blender/nodes/texture/nodes/node_texture_bricks.c
    trunk/blender/source/blender/nodes/texture/nodes/node_texture_mixRgb.c
    trunk/blender/source/blender/nodes/texture/nodes/node_texture_proc.c
    trunk/blender/source/blender/nodes/texture/nodes/node_texture_texture.c
    trunk/blender/source/blender/render/intern/source/pixelshading.c
    trunk/blender/source/blender/render/intern/source/render_texture.c
    trunk/blender/source/blender/render/intern/source/shadeoutput.c

Modified: trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h   2011-11-26 
02:33:57 UTC (rev 42163)
+++ trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h   2011-11-26 
03:13:54 UTC (rev 42164)
@@ -526,7 +526,7 @@
 int sculpt_get_deform_matrices(struct Scene *scene, struct Object *ob,
                                                                float 
(**deformmats)[3][3], float (**deformcos)[3]);
 
-void weight_to_rgb(float input, float *fr, float *fg, float *fb);
+void weight_to_rgb(float r_rgb[3], const float weight);
 
 /* convert layers requested by a GLSL material to actually available layers in
  * the DerivedMesh, with both a pointer for arrays and an offset for editmesh 
*/

Modified: trunk/blender/source/blender/blenkernel/BKE_material.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_material.h      2011-11-26 
02:33:57 UTC (rev 42163)
+++ trunk/blender/source/blender/blenkernel/BKE_material.h      2011-11-26 
03:13:54 UTC (rev 42164)
@@ -91,7 +91,7 @@
 
 int material_in_material(struct Material *parmat, struct Material *mat);
 
-void ramp_blend(int type, float *r, float *g, float *b, float fac, const float 
col[3]);
+void ramp_blend(int type, float r_col[3], const float fac, const float col[3]);
 
 /* copy/paste */
 void clear_matcopybuf(void);

Modified: trunk/blender/source/blender/blenkernel/BKE_particle.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_particle.h      2011-11-26 
02:33:57 UTC (rev 42163)
+++ trunk/blender/source/blender/blenkernel/BKE_particle.h      2011-11-26 
03:13:54 UTC (rev 42164)
@@ -217,7 +217,7 @@
        float *ndata, *nd;              /* normal data */
        float *cdata, *cd;              /* color data */
        float *vedata, *ved;    /* velocity data */
-       float *ma_r, *ma_g, *ma_b;
+       float *ma_col;
        int tot_vec_size, flag;
        int totpoint, totve;
 } ParticleDrawData;

Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c        
2011-11-26 02:33:57 UTC (rev 42163)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c        
2011-11-26 03:13:54 UTC (rev 42164)
@@ -1775,31 +1775,29 @@
  * happens on enter/exit wpaint.
  */
 
-void weight_to_rgb(float input, float *fr, float *fg, float *fb)
+void weight_to_rgb(float r_rgb[3], const float weight)
 {
-       float blend;
-       
-       blend= ((input/2.0f)+0.5f);
-       
-       if (input<=0.25f){      // blue->cyan
-               *fr= 0.0f;
-               *fg= blend*input*4.0f;
-               *fb= blend;
+       const float blend= ((weight/2.0f)+0.5f);
+
+       if (weight<=0.25f){     // blue->cyan
+               r_rgb[0]= 0.0f;
+               r_rgb[1]= blend*weight*4.0f;
+               r_rgb[2]= blend;
        }
-       else if (input<=0.50f){ // cyan->green
-               *fr= 0.0f;
-               *fg= blend;
-               *fb= blend*(1.0f-((input-0.25f)*4.0f)); 
+       else if (weight<=0.50f){        // cyan->green
+               r_rgb[0]= 0.0f;
+               r_rgb[1]= blend;
+               r_rgb[2]= blend*(1.0f-((weight-0.25f)*4.0f));
        }
-       else if (input <= 0.75f){       // green->yellow
-               *fr= blend * ((input-0.50f)*4.0f);
-               *fg= blend;
-               *fb= 0.0f;
+       else if (weight <= 0.75f){      // green->yellow
+               r_rgb[0]= blend * ((weight-0.50f)*4.0f);
+               r_rgb[1]= blend;
+               r_rgb[2]= 0.0f;
        }
-       else if (input <= 1.0f){ // yellow->red
-               *fr= blend;
-               *fg= blend * (1.0f-((input-0.75f)*4.0f)); 
-               *fb= 0.0f;
+       else if (weight <= 1.0f){ // yellow->red
+               r_rgb[0]= blend;
+               r_rgb[1]= blend * (1.0f-((weight-0.75f)*4.0f));
+               r_rgb[2]= 0.0f;
        }
 }
 
@@ -1864,7 +1862,7 @@
        if(coba)
                do_colorband(coba, input, colf);
        else
-               weight_to_rgb(input, colf, colf+1, colf+2);
+               weight_to_rgb(colf, input);
        
        col[3] = (unsigned char)(colf[0] * 255.0f);
        col[2] = (unsigned char)(colf[1] * 255.0f);

Modified: trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c       
2011-11-26 02:33:57 UTC (rev 42163)
+++ trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c       
2011-11-26 03:13:54 UTC (rev 42164)
@@ -1681,7 +1681,7 @@
                                                                        for (; 
j<((mface[i].v4)?4:3); j++) {
                                                                                
int index = (j==0)?mface[i].v1: (j==1)?mface[i].v2: (j==2)?mface[i].v3: 
mface[i].v4;
 
-                                                                               
weight_to_rgb(weight[index], temp_color, temp_color+1, temp_color+2);
+                                                                               
weight_to_rgb(temp_color, weight[index]);
                                                                                
col[i*4+j].r = FTOCHAR(temp_color[2]);
                                                                                
col[i*4+j].g = FTOCHAR(temp_color[1]);
                                                                                
col[i*4+j].b = FTOCHAR(temp_color[0]);

Modified: trunk/blender/source/blender/blenkernel/intern/material.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/material.c   2011-11-26 
02:33:57 UTC (rev 42163)
+++ trunk/blender/source/blender/blenkernel/intern/material.c   2011-11-26 
03:13:54 UTC (rev 42164)
@@ -1180,129 +1180,129 @@
 
 /* r g b = current value, col = new value, fac==0 is no change */
 /* if g==NULL, it only does r channel */
-void ramp_blend(int type, float *r, float *g, float *b, float fac, const float 
col[3])
+void ramp_blend(int type, float r_col[3], const float fac, const float col[3])
 {
        float tmp, facm= 1.0f-fac;
        
        switch (type) {
                case MA_RAMP_BLEND:
-                       *r = facm*(*r) + fac*col[0];
-                       if(g) {
-                               *g = facm*(*g) + fac*col[1];
-                               *b = facm*(*b) + fac*col[2];
+                       r_col[0] = facm*(r_col[0]) + fac*col[0];
+                       if(r_col[1]) {
+                               r_col[1] = facm*(r_col[1]) + fac*col[1];
+                               r_col[2] = facm*(r_col[2]) + fac*col[2];
                        }
                                break;
                case MA_RAMP_ADD:
-                       *r += fac*col[0];
-                       if(g) {
-                               *g += fac*col[1];
-                               *b += fac*col[2];
+                       r_col[0] += fac*col[0];
+                       if(r_col[1]) {
+                               r_col[1] += fac*col[1];
+                               r_col[2] += fac*col[2];
                        }
                                break;
                case MA_RAMP_MULT:
-                       *r *= (facm + fac*col[0]);
-                       if(g) {
-                               *g *= (facm + fac*col[1]);
-                               *b *= (facm + fac*col[2]);
+                       r_col[0] *= (facm + fac*col[0]);
+                       if(r_col[1]) {
+                               r_col[1] *= (facm + fac*col[1]);
+                               r_col[2] *= (facm + fac*col[2]);
                        }
                                break;
                case MA_RAMP_SCREEN:
-                       *r = 1.0f - (facm + fac*(1.0f - col[0])) * (1.0f - *r);
-                       if(g) {
-                               *g = 1.0f - (facm + fac*(1.0f - col[1])) * 
(1.0f - *g);
-                               *b = 1.0f - (facm + fac*(1.0f - col[2])) * 
(1.0f - *b);
+                       r_col[0] = 1.0f - (facm + fac*(1.0f - col[0])) * (1.0f 
- r_col[0]);
+                       if(r_col[1]) {
+                               r_col[1] = 1.0f - (facm + fac*(1.0f - col[1])) 
* (1.0f - r_col[1]);
+                               r_col[2] = 1.0f - (facm + fac*(1.0f - col[2])) 
* (1.0f - r_col[2]);
                        }
                                break;
                case MA_RAMP_OVERLAY:
-                       if(*r < 0.5f)
-                               *r *= (facm + 2.0f*fac*col[0]);
+                       if(r_col[0] < 0.5f)
+                               r_col[0] *= (facm + 2.0f*fac*col[0]);
                        else
-                               *r = 1.0f - (facm + 2.0f*fac*(1.0f - col[0])) * 
(1.0f - *r);
-                       if(g) {
-                               if(*g < 0.5f)
-                                       *g *= (facm + 2.0f*fac*col[1]);
+                               r_col[0] = 1.0f - (facm + 2.0f*fac*(1.0f - 
col[0])) * (1.0f - r_col[0]);
+                       if(r_col[1]) {
+                               if(r_col[1] < 0.5f)
+                                       r_col[1] *= (facm + 2.0f*fac*col[1]);
                                else
-                                       *g = 1.0f - (facm + 2.0f*fac*(1.0f - 
col[1])) * (1.0f - *g);
-                               if(*b < 0.5f)
-                                       *b *= (facm + 2.0f*fac*col[2]);
+                                       r_col[1] = 1.0f - (facm + 
2.0f*fac*(1.0f - col[1])) * (1.0f - r_col[1]);
+                               if(r_col[2] < 0.5f)
+                                       r_col[2] *= (facm + 2.0f*fac*col[2]);
                                else
-                                       *b = 1.0f - (facm + 2.0f*fac*(1.0f - 
col[2])) * (1.0f - *b);
+                                       r_col[2] = 1.0f - (facm + 
2.0f*fac*(1.0f - col[2])) * (1.0f - r_col[2]);
                        }
                                break;
                case MA_RAMP_SUB:
-                       *r -= fac*col[0];
-                       if(g) {
-                               *g -= fac*col[1];
-                               *b -= fac*col[2];
+                       r_col[0] -= fac*col[0];
+                       if(r_col[1]) {
+                               r_col[1] -= fac*col[1];
+                               r_col[2] -= fac*col[2];
                        }
                                break;
                case MA_RAMP_DIV:
                        if(col[0]!=0.0f)
-                               *r = facm*(*r) + fac*(*r)/col[0];
-                       if(g) {
+                               r_col[0] = facm*(r_col[0]) + 
fac*(r_col[0])/col[0];
+                       if(r_col[1]) {
                                if(col[1]!=0.0f)
-                                       *g = facm*(*g) + fac*(*g)/col[1];
+                                       r_col[1] = facm*(r_col[1]) + 
fac*(r_col[1])/col[1];
                                if(col[2]!=0.0f)
-                                       *b = facm*(*b) + fac*(*b)/col[2];
+                                       r_col[2] = facm*(r_col[2]) + 
fac*(r_col[2])/col[2];
                        }
                                break;
                case MA_RAMP_DIFF:
-                       *r = facm*(*r) + fac*fabsf(*r-col[0]);
-                       if(g) {
-                               *g = facm*(*g) + fac*fabsf(*g-col[1]);
-                               *b = facm*(*b) + fac*fabsf(*b-col[2]);
+                       r_col[0] = facm*(r_col[0]) + fac*fabsf(r_col[0]-col[0]);
+                       if(r_col[1]) {
+                               r_col[1] = facm*(r_col[1]) + 
fac*fabsf(r_col[1]-col[1]);
+                               r_col[2] = facm*(r_col[2]) + 
fac*fabsf(r_col[2]-col[2]);
                        }
                                break;
                case MA_RAMP_DARK:
                        tmp=col[0]+((1-col[0])*facm); 
-                       if(tmp < *r) *r= tmp; 
-                       if(g) { 
+                       if(tmp < r_col[0]) r_col[0]= tmp;
+                       if(r_col[1]) {
                                tmp=col[1]+((1-col[1])*facm); 
-                               if(tmp < *g) *g= tmp; 
+                               if(tmp < r_col[1]) r_col[1]= tmp;
                                tmp=col[2]+((1-col[2])*facm); 
-                               if(tmp < *b) *b= tmp; 
+                               if(tmp < r_col[2]) r_col[2]= tmp;
                        } 
                                break; 
                case MA_RAMP_LIGHT:
                        tmp= fac*col[0];
-                       if(tmp > *r) *r= tmp; 
-                               if(g) {
+                       if(tmp > r_col[0]) r_col[0]= tmp;
+                               if(r_col[1]) {
                                        tmp= fac*col[1];
-                                       if(tmp > *g) *g= tmp; 
+                                       if(tmp > r_col[1]) r_col[1]= tmp;
                                        tmp= fac*col[2];
-                                       if(tmp > *b) *b= tmp; 
+                                       if(tmp > r_col[2]) r_col[2]= tmp;
                                }
                                        break;  
                case MA_RAMP_DODGE:                     
                        
                                
-                       if(*r !=0.0f){
+                       if(r_col[0] !=0.0f){
                                tmp = 1.0f - fac*col[0];
                                if(tmp <= 0.0f)
-                                       *r = 1.0f;
-                               else if ((tmp = (*r) / tmp)> 1.0f)
-                                       *r = 1.0f;
+                                       r_col[0] = 1.0f;
+                               else if ((tmp = (r_col[0]) / tmp)> 1.0f)
+                                       r_col[0] = 1.0f;
                                else 
-                                       *r = tmp;
+                                       r_col[0] = tmp;
                        }
-                       if(g) {
-                               if(*g !=0.0f){
+                       if(r_col[1]) {
+                               if(r_col[1] !=0.0f){
                                        tmp = 1.0f - fac*col[1];
                                        if(tmp <= 0.0f )
-                                               *g = 1.0f;
-                                       else if ((tmp = (*g) / tmp) > 1.0f )
-                                               *g = 1.0f;
+                                               r_col[1] = 1.0f;
+                                       else if ((tmp = (r_col[1]) / tmp) > 
1.0f )
+                                               r_col[1] = 1.0f;
                                        else
-                                               *g = tmp;
+                                               r_col[1] = tmp;
                                }
-                               if(*b !=0.0f){
+                               if(r_col[2] !=0.0f){
                                        tmp = 1.0f - fac*col[2];
                                        if(tmp <= 0.0f)
-                                               *b = 1.0f;
-                                       else if ((tmp = (*b) / tmp) > 1.0f )
-                                               *b = 1.0f;
+                                               r_col[2] = 1.0f;
+                                       else if ((tmp = (r_col[2]) / tmp) > 
1.0f )
+                                               r_col[2] = 1.0f;
                                        else
-                                               *b = tmp;
+                                               r_col[2] = tmp;
                                }
 
                        }
@@ -1312,114 +1312,114 @@
                        tmp = facm + fac*col[0];
                        
                        if(tmp <= 0.0f)
-                               *r = 0.0f;
-                       else if (( tmp = (1.0f - (1.0f - (*r)) / tmp )) < 0.0f)
-                                       *r = 0.0f;
+                               r_col[0] = 0.0f;

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to