[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32773] trunk/blender/source/blender/ editors/space_view3d/view3d_draw.c: Fix for [#24448] User Preferences - Interface - Mini Axis - Brightness, none working?

Janne Karhu jhkarh at gmail.com
Sat Oct 30 19:13:03 CEST 2010


Revision: 32773
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32773
Author:   jhk
Date:     2010-10-30 19:13:03 +0200 (Sat, 30 Oct 2010)

Log Message:
-----------
Fix for [#24448] User Preferences - Interface - Mini Axis - Brightness, none working?
* The axis draw function was changed by Campbell recently, but the brightness value was forgotten?
* Solved currently by mapping the brightness value to axis alpha.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2010-10-30 15:20:48 UTC (rev 32772)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2010-10-30 17:13:03 UTC (rev 32773)
@@ -579,6 +579,7 @@
 	const float toll = 0.5;      /* used to see when view is quasi-orthogonal */
 	const float start = k + 1.0; /* axis center in screen coordinates, x=y */
 	float ydisp = 0.0;          /* vertical displacement to allow obj info text */
+	int bright = 25*(float)U.rvibright + 5; /* axis alpha (rvibright has range 0-10) */
 
 	float vec[3];
 	float dx, dy;
@@ -586,6 +587,9 @@
 	/* thickness of lines is proportional to k */
 	glLineWidth(2);
 
+	glEnable(GL_BLEND);
+	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
 	/* X */
 	vec[0] = 1;
 	vec[1] = vec[2] = 0;
@@ -593,7 +597,7 @@
 	dx = vec[0] * k;
 	dy = vec[1] * k;
 
-	glColor3ub(220, 0, 0);
+	glColor4ub(220, 0, 0, bright);
 	glBegin(GL_LINES);
 	glVertex2f(start, start + ydisp);
 	glVertex2f(start + dx, start + dy + ydisp);
@@ -603,6 +607,9 @@
 		BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "x");
 	}
 	
+	/* BLF_draw_default disables blending */
+	glEnable(GL_BLEND);
+
 	/* Y */
 	vec[1] = 1;
 	vec[0] = vec[2] = 0;
@@ -610,7 +617,7 @@
 	dx = vec[0] * k;
 	dy = vec[1] * k;
 
-	glColor3ub(0, 220, 0);
+	glColor4ub(0, 220, 0, bright);
 	glBegin(GL_LINES);
 	glVertex2f(start, start + ydisp);
 	glVertex2f(start + dx, start + dy + ydisp);
@@ -619,6 +626,8 @@
 	if (fabs(dx) > toll || fabs(dy) > toll) {
 		BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "y");
 	}
+
+	glEnable(GL_BLEND);
 	
 	/* Z */
 	vec[2] = 1;
@@ -627,7 +636,7 @@
 	dx = vec[0] * k;
 	dy = vec[1] * k;
 
-	glColor3ub(30, 30, 220);
+	glColor4ub(30, 30, 220, bright);
 	glBegin(GL_LINES);
 	glVertex2f(start, start + ydisp);
 	glVertex2f(start + dx, start + dy + ydisp);
@@ -640,6 +649,7 @@
 	/* restore line-width */
 	
 	glLineWidth(1.0);
+	glDisable(GL_BLEND);
 }
 
 





More information about the Bf-blender-cvs mailing list