[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30210] branches/soc-2010-jwilkins/source/ blender/windowmanager/intern/wm_operators.c: * radial control for strength/ size/angle are all not drawn on the surface if the option is on

Jason Wilkins Jason.A.Wilkins at gmail.com
Mon Jul 12 07:06:01 CEST 2010


Revision: 30210
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30210
Author:   jwilkins
Date:     2010-07-12 07:05:59 +0200 (Mon, 12 Jul 2010)

Log Message:
-----------
* radial control for strength/size/angle are all not drawn on the surface if the option is on

Modified Paths:
--------------
    branches/soc-2010-jwilkins/source/blender/windowmanager/intern/wm_operators.c

Modified: branches/soc-2010-jwilkins/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- branches/soc-2010-jwilkins/source/blender/windowmanager/intern/wm_operators.c	2010-07-11 16:53:06 UTC (rev 30209)
+++ branches/soc-2010-jwilkins/source/blender/windowmanager/intern/wm_operators.c	2010-07-12 05:05:59 UTC (rev 30210)
@@ -2710,11 +2710,9 @@
 		r3= r1;
 	} else if(rc->mode == WM_RADIALCONTROL_STRENGTH) {
 		r1= (1 - rc->value) * WM_RADIAL_CONTROL_DISPLAY_SIZE;
-		r2= WM_RADIAL_CONTROL_DISPLAY_SIZE;
-		r3= WM_RADIAL_CONTROL_DISPLAY_SIZE;
+		r2= r3= WM_RADIAL_CONTROL_DISPLAY_SIZE;
 	} else if(rc->mode == WM_RADIALCONTROL_ANGLE) {
-		r1= r2= WM_RADIAL_CONTROL_DISPLAY_SIZE;
-		r3= WM_RADIAL_CONTROL_DISPLAY_SIZE;
+		r1= r2= r3= WM_RADIAL_CONTROL_DISPLAY_SIZE;
 		angle = rc->value;
 	}
 
@@ -2734,20 +2732,19 @@
 	else
 		col = brush->add_col;
 
-	if (rc->mode == WM_RADIALCONTROL_SIZE && (paint->flags & PAINT_SHOW_BRUSH_ON_SURFACE) && vc.obact->sculpt) {
+	if ((paint->flags & PAINT_SHOW_BRUSH_ON_SURFACE) && vc.obact->sculpt) {
 		Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
 
 		int pixel_radius, viewport[4];
 		float location[3], modelview[16], projection[16];
 
-		float visual_strength = sculpt_get_brush_alpha(brush)*sculpt_get_brush_alpha(brush);
+		float visual_strength = rc->mode == WM_RADIALCONTROL_STRENGTH ? rc->value*rc->value : sculpt_get_brush_alpha(brush)*sculpt_get_brush_alpha(brush);
 
 		const float min_alpha = 0.20f;
 		const float max_alpha = 0.80f;
 
 		hit = sculpt_get_brush_geometry(C, x, y, &pixel_radius, location, modelview, projection, viewport);
 
-
 		alpha = min_alpha + (visual_strength*(max_alpha-min_alpha));
 
 		if (hit) {
@@ -2757,6 +2754,13 @@
 
 			glEnable(GL_BLEND);
 
+			glColor4f(col[0], col[1], col[2], 0.5f);
+
+			if(rc->mode == WM_RADIALCONTROL_ANGLE) {
+				glRotatef(angle, 0, 0, 1);
+				fdrawline(0, 0, WM_RADIAL_CONTROL_DISPLAY_SIZE, 0);
+			}
+
 			glBindTexture(GL_TEXTURE_2D, rc->tex);
 
 			glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);





More information about the Bf-blender-cvs mailing list