Revision: 48877
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48877
Author:   psy-fi
Date:     2012-07-12 19:56:47 +0000 (Thu, 12 Jul 2012)
Log Message:
-----------
modifications to get the mask alpha in overlay. Still quite some fixes
needed for it to work properly

Modified Paths:
--------------
    
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_cursor.c
    
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_intern.h
    
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_utils.c
    branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/sculpt.c

Modified: 
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_cursor.c
===================================================================
--- 
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_cursor.c  
    2012-07-12 19:56:34 UTC (rev 48876)
+++ 
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_cursor.c  
    2012-07-12 19:56:47 UTC (rev 48877)
@@ -276,13 +276,18 @@
                                        x += br->mtex.ofs[0];
                                        y += br->mtex.ofs[1];
 
-                                       avg = br->mtex.tex ? 
paint_get_tex_pixel(br, x, y) : 1;
+                                       avg = br->mtex.tex ? 
paint_get_tex_pixel(br, x, y, FALSE) : 1;
 
                                        avg += br->texture_sample_bias;
 
-                                       if (br->mtex.brush_map_mode == 
MTEX_MAP_MODE_VIEW)
+                                       if (!do_tiled) {
                                                avg *= 
BKE_brush_curve_strength(br, len, 1);  /* Falloff curve */
 
+                                               if(br->flag & BRUSH_USE_MASK) {
+                                                       avg *= 
br->mask_mtex.tex ? paint_get_tex_pixel(br, x, y, TRUE) : 1;
+                                               }
+                                       }
+
                                        buffer[index] = 255 - (GLubyte)(255 * 
avg);
                                }
                                else {
@@ -362,6 +367,10 @@
 
                                        avg = BKE_brush_curve_strength(br, len, 
1);  /* Falloff curve */
 
+                                       if(br->flag & BRUSH_USE_MASK) {
+                                               avg *= br->mask_mtex.tex ? 
paint_get_tex_pixel(br, x, y, TRUE) : 1;
+                                       }
+
                                        curve_buffer[index] = (GLubyte)(255 * 
avg);
                                }
                                else {

Modified: 
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_intern.h
===================================================================
--- 
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_intern.h  
    2012-07-12 19:56:34 UTC (rev 48876)
+++ 
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_intern.h  
    2012-07-12 19:56:47 UTC (rev 48877)
@@ -135,7 +135,7 @@
 
 void projectf(struct bglMats *mats, const float v[3], float p[2]);
 float paint_calc_object_space_radius(struct ViewContext *vc, const float 
center[3], float pixel_radius);
-float paint_get_tex_pixel(struct Brush *br, float u, float v);
+float paint_get_tex_pixel(struct Brush *br, float u, float v, int mask);
 int imapaint_pick_face(struct ViewContext *vc, const int mval[2], unsigned int 
*index, unsigned int totface);
 void imapaint_pick_uv(struct Scene *scene, struct Object *ob, unsigned int 
faceindex, const int xy[2], float uv[2]);
 

Modified: 
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_utils.c
===================================================================
--- 
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_utils.c   
    2012-07-12 19:56:34 UTC (rev 48876)
+++ 
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/paint_utils.c   
    2012-07-12 19:56:47 UTC (rev 48877)
@@ -172,8 +172,9 @@
        return len_v3(delta) / scale;
 }
 
-float paint_get_tex_pixel(Brush *br, float u, float v)
+float paint_get_tex_pixel(Brush *br, float u, float v, int mask)
 {
+       Tex *tex = mask ? br->mask_mtex.tex :br->mtex.tex;
        TexResult texres;
        float co[3];
        int hasrgb;
@@ -183,7 +184,7 @@
        co[2] = 0;
 
        memset(&texres, 0, sizeof(TexResult));
-       hasrgb = multitex_ext(br->mtex.tex, co, NULL, NULL, 0, &texres);
+       hasrgb = multitex_ext(tex, co, NULL, NULL, 0, &texres);
 
        if (hasrgb & TEX_RGB)
                texres.tin = rgb_to_grayscale(&texres.tr) * texres.ta;

Modified: 
branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/sculpt.c
===================================================================
--- branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/sculpt.c    
2012-07-12 19:56:34 UTC (rev 48876)
+++ branches/soc-2012-bratwurst/source/blender/editors/sculpt_paint/sculpt.c    
2012-07-12 19:56:47 UTC (rev 48877)
@@ -839,7 +839,7 @@
                x += br->mtex.ofs[0];
                y += br->mtex.ofs[1];
 
-               avg = paint_get_tex_pixel(br, x, y);
+               avg = paint_get_tex_pixel(br, x, y, FALSE);
        }
 
        avg += br->texture_sample_bias;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to