[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40296] branches/bmesh/blender: svn merge -r40279:40295 ^/trunk/blender

Campbell Barton ideasman42 at gmail.com
Sat Sep 17 15:15:39 CEST 2011


Revision: 40296
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40296
Author:   campbellbarton
Date:     2011-09-17 13:15:38 +0000 (Sat, 17 Sep 2011)
Log Message:
-----------
svn merge -r40279:40295 ^/trunk/blender

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40279

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/blenfont/intern/blf.c
    branches/bmesh/blender/source/blender/blenfont/intern/blf_glyph.c
    branches/bmesh/blender/source/blender/blenfont/intern/blf_internal_types.h
    branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c
    branches/bmesh/blender/source/blender/blenkernel/intern/curve.c
    branches/bmesh/blender/source/blender/blenkernel/intern/effect.c
    branches/bmesh/blender/source/blender/blenkernel/intern/particle.c
    branches/bmesh/blender/source/blender/blenkernel/intern/screen.c
    branches/bmesh/blender/source/blender/blenkernel/intern/seqeffects.c
    branches/bmesh/blender/source/blender/blenlib/BLI_voxel.h
    branches/bmesh/blender/source/blender/blenlib/intern/voxel.c
    branches/bmesh/blender/source/blender/blenloader/intern/readfile.c
    branches/bmesh/blender/source/blender/collada/AnimationExporter.cpp
    branches/bmesh/blender/source/blender/collada/AnimationImporter.cpp
    branches/bmesh/blender/source/blender/collada/CameraExporter.cpp
    branches/bmesh/blender/source/blender/collada/DocumentImporter.cpp
    branches/bmesh/blender/source/blender/collada/TransformReader.cpp
    branches/bmesh/blender/source/blender/collada/TransformWriter.cpp
    branches/bmesh/blender/source/blender/editors/animation/anim_draw.c
    branches/bmesh/blender/source/blender/editors/armature/editarmature.c
    branches/bmesh/blender/source/blender/editors/interface/interface_draw.c
    branches/bmesh/blender/source/blender/editors/sculpt_paint/paint_image.c
    branches/bmesh/blender/source/blender/editors/sculpt_paint/paint_stroke.c
    branches/bmesh/blender/source/blender/editors/space_action/action_edit.c
    branches/bmesh/blender/source/blender/editors/space_action/action_select.c
    branches/bmesh/blender/source/blender/editors/space_console/console_ops.c
    branches/bmesh/blender/source/blender/editors/space_graph/graph_edit.c
    branches/bmesh/blender/source/blender/editors/space_graph/graph_select.c
    branches/bmesh/blender/source/blender/editors/space_view3d/drawobject.c
    branches/bmesh/blender/source/blender/editors/space_view3d/view3d_buttons.c
    branches/bmesh/blender/source/blender/editors/uvedit/uvedit_draw.c
    branches/bmesh/blender/source/blender/makesdna/DNA_node_types.h
    branches/bmesh/blender/source/blender/render/intern/include/voxeldata.h
    branches/bmesh/blender/source/blender/render/intern/source/convertblender.c
    branches/bmesh/blender/source/blender/render/intern/source/volumetric.c
    branches/bmesh/blender/source/blender/render/intern/source/voxeldata.c
    branches/bmesh/blender/source/gameengine/Ketsji/KX_Dome.cpp

Property Changed:
----------------
    branches/bmesh/blender/
    branches/bmesh/blender/release/
    branches/bmesh/blender/source/blender/editors/space_outliner/


Property changes on: branches/bmesh/blender
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender:39992-40279
   + /trunk/blender:39992-40295


Property changes on: branches/bmesh/blender/release
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender/release:31524-40279
   + /trunk/blender/release:31524-40295

Modified: branches/bmesh/blender/source/blender/blenfont/intern/blf.c
===================================================================
--- branches/bmesh/blender/source/blender/blenfont/intern/blf.c	2011-09-17 13:03:42 UTC (rev 40295)
+++ branches/bmesh/blender/source/blender/blenfont/intern/blf.c	2011-09-17 13:15:38 UTC (rev 40296)
@@ -486,6 +486,13 @@
 
 	if (font->flags & BLF_ROTATION)
 		glRotatef(font->angle, 0.0f, 0.0f, 1.0f);
+
+	if(font->shadow || font->blur)
+		glGetFloatv(GL_CURRENT_COLOR, font->orig_col);
+
+	/* always bind the texture for the first glyph */
+	font->tex_bind_state= -1;
+
 }
 
 static void blf_draw__end(void)

Modified: branches/bmesh/blender/source/blender/blenfont/intern/blf_glyph.c
===================================================================
--- branches/bmesh/blender/source/blender/blenfont/intern/blf_glyph.c	2011-09-17 13:03:42 UTC (rev 40295)
+++ branches/bmesh/blender/source/blender/blenfont/intern/blf_glyph.c	2011-09-17 13:15:38 UTC (rev 40296)
@@ -185,7 +185,7 @@
 	memset((void *)buf, 0, tot_mem);
 
 	glGenTextures(1, &gc->textures[gc->cur_tex]);
-	glBindTexture(GL_TEXTURE_2D, gc->textures[gc->cur_tex]);
+	glBindTexture(GL_TEXTURE_2D, (font->tex_bind_state= gc->textures[gc->cur_tex]));
 	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
 	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
 	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
@@ -326,23 +326,25 @@
 	
 }
 
-static void blf_texture5_draw(float uv[2][2], float x1, float y1, float x2, float y2)
+static void blf_texture5_draw(const float shadow_col[4], float uv[2][2], float x1, float y1, float x2, float y2)
 {
-	float soft[25]= {
-		1/60.0f, 1/60.0f, 2/60.0f, 1/60.0f, 1/60.0f, 
-		1/60.0f, 3/60.0f, 5/60.0f, 3/60.0f, 1/60.0f, 
-		2/60.0f, 5/60.0f, 8/60.0f, 5/60.0f, 2/60.0f, 
-		1/60.0f, 3/60.0f, 5/60.0f, 3/60.0f, 1/60.0f, 
-		1/60.0f, 1/60.0f, 2/60.0f, 1/60.0f, 1/60.0f};
+	float soft[25]= {1/60.0f, 1/60.0f, 2/60.0f, 1/60.0f, 1/60.0f,
+	                 1/60.0f, 3/60.0f, 5/60.0f, 3/60.0f, 1/60.0f,
+	                 2/60.0f, 5/60.0f, 8/60.0f, 5/60.0f, 2/60.0f,
+	                 1/60.0f, 3/60.0f, 5/60.0f, 3/60.0f, 1/60.0f,
+	                 1/60.0f, 1/60.0f, 2/60.0f, 1/60.0f, 1/60.0f};
 	
 	float color[4], *fp= soft;
 	int dx, dy;
+
+	color[0]= shadow_col[0];
+	color[1]= shadow_col[1];
+	color[2]= shadow_col[2];
 	
-	glGetFloatv(GL_CURRENT_COLOR, color);
-	
 	for(dx=-2; dx<3; dx++) {
 		for(dy=-2; dy<3; dy++, fp++) {
-			glColor4f(color[0], color[1], color[2], fp[0]*color[3]);
+			color[3]= *(fp) * shadow_col[3];
+			glColor4fv(color);
 			blf_texture_draw(uv, x1+dx, y1+dy, x2+dx, y2+dy);
 		}
 	}
@@ -350,17 +352,23 @@
 	glColor4fv(color);
 }
 
-static void blf_texture3_draw(float uv[2][2], float x1, float y1, float x2, float y2)
+static void blf_texture3_draw(const float shadow_col[4], float uv[2][2], float x1, float y1, float x2, float y2)
 {
-	float soft[9]= {1/16.0f, 2/16.0f, 1/16.0f, 2/16.0f, 4/16.0f, 2/16.0f, 1/16.0f, 2/16.0f, 1/16.0f};
+	float soft[9]= {1/16.0f, 2/16.0f, 1/16.0f,
+	                2/16.0f,4/16.0f, 2/16.0f,
+	                1/16.0f, 2/16.0f, 1/16.0f};
+
 	float color[4], *fp= soft;
 	int dx, dy;
-	
-	glGetFloatv(GL_CURRENT_COLOR, color);
-	
+
+	color[0]= shadow_col[0];
+	color[1]= shadow_col[1];
+	color[2]= shadow_col[2];
+
 	for(dx=-1; dx<2; dx++) {
 		for(dy=-1; dy<2; dy++, fp++) {
-			glColor4f(color[0], color[1], color[2], fp[0]*color[3]);
+			color[3]= *(fp) * shadow_col[3];
+			glColor4fv(color);
 			blf_texture_draw(uv, x1+dx, y1+dy, x2+dx, y2+dy);
 		}
 	}
@@ -370,18 +378,15 @@
 
 int blf_glyph_render(FontBLF *font, GlyphBLF *g, float x, float y)
 {
-	GlyphCacheBLF *gc;
-	GLint cur_tex;
 	float dx, dx1;
 	float y1, y2;
 	float xo, yo;
-	float color[4];
 
 	if ((!g->width) || (!g->height))
 		return(1);
 
 	if (g->build_tex == 0) {
-		gc= font->glyph_cache;
+		GlyphCacheBLF *gc= font->glyph_cache;
 
 		if (font->max_tex_size == -1)
 			glGetIntegerv(GL_MAX_TEXTURE_SIZE, (GLint *)&font->max_tex_size);
@@ -453,22 +458,27 @@
 			return(0);
 	}
 
-	glGetIntegerv(GL_TEXTURE_2D_BINDING_EXT, &cur_tex);
-	if (cur_tex != g->tex)
-		glBindTexture(GL_TEXTURE_2D, g->tex);
+	if (font->tex_bind_state != g->tex) {
+		glBindTexture(GL_TEXTURE_2D, (font->tex_bind_state= g->tex));
+	}
 
 	if (font->flags & BLF_SHADOW) {
-		glGetFloatv(GL_CURRENT_COLOR, color);
-		glColor4fv(font->shadow_col);
 
-		if (font->shadow == 3)
-			blf_texture3_draw(g->uv, dx, y1, dx1, y2);
-		else if (font->shadow == 5)
-			blf_texture5_draw(g->uv, dx, y1, dx1, y2);
-		else
-			blf_texture_draw(g->uv, dx, y1, dx1, y2);
+		switch(font->shadow) {
+			case 3:
+				blf_texture3_draw(font->shadow_col, g->uv, dx, y1, dx1, y2);
+				break;
+			case 5:
+				blf_texture5_draw(font->shadow_col, g->uv, dx, y1, dx1, y2);
+				break;
+			default:
+				glColor4fv(font->shadow_col);
+				blf_texture_draw(g->uv, dx, y1, dx1, y2);
+				break;
+		}
 
-		glColor4fv(color);
+		glColor4fv(font->orig_col);
+
 		x= xo;
 		y= yo;
 
@@ -478,12 +488,17 @@
 		y2= y + g->pos_y - g->height;
 	}
 
-	if (font->blur==3)
-		blf_texture3_draw(g->uv, dx, y1, dx1, y2);
-	else if (font->blur==5)
-		blf_texture5_draw(g->uv, dx, y1, dx1, y2);
-	else
-		blf_texture_draw(g->uv, dx, y1, dx1, y2);
+	switch(font->blur) {
+		case 3:
+			blf_texture3_draw(font->orig_col, g->uv, dx, y1, dx1, y2);
+			break;
+		case 5:
+			blf_texture5_draw(font->orig_col, g->uv, dx, y1, dx1, y2);
+			break;
+		default:
+			blf_texture_draw(g->uv, dx, y1, dx1, y2);
+			break;
+	}
 
 	return(1);
 }

Modified: branches/bmesh/blender/source/blender/blenfont/intern/blf_internal_types.h
===================================================================
--- branches/bmesh/blender/source/blender/blenfont/intern/blf_internal_types.h	2011-09-17 13:03:42 UTC (rev 40295)
+++ branches/bmesh/blender/source/blender/blenfont/intern/blf_internal_types.h	2011-09-17 13:15:38 UTC (rev 40296)
@@ -161,7 +161,10 @@
 
 	/* shadow color. */
 	float shadow_col[4];
-	
+
+	/* store color here when drawing shadow or blur. */
+	float orig_col[4];
+
 	/* Multiplied this matrix with the current one before
 	 * draw the text! see blf_draw__start.
 	 */
@@ -179,6 +182,9 @@
 	/* max texture size. */
 	int max_tex_size;
 
+	/* current opengl texture  bind, avoids calling glGet */
+	int tex_bind_state;
+
 	/* font options. */
 	int flags;
 

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c	2011-09-17 13:03:42 UTC (rev 40295)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c	2011-09-17 13:15:38 UTC (rev 40296)
@@ -2167,7 +2167,7 @@
 		if (data->type < 10) {
 			/* extract rotation (is in whatever space target should be in) */
 			mat4_to_eul(vec, tempmat);
-			mul_v3_fl(vec, (float)(180.0/M_PI)); /* rad -> deg */
+			mul_v3_fl(vec, RAD2DEGF(1.0f)); /* rad -> deg */
 			axis= data->type;
 		}
 		else if (data->type < 20) {
@@ -3325,7 +3325,7 @@
 				break;
 			case 1: /* rotation (convert to degrees first) */
 				mat4_to_eulO(dvec, cob->rotOrder, ct->matrix);
-				mul_v3_fl(dvec, (float)(180.0/M_PI)); /* rad -> deg */
+				mul_v3_fl(dvec, RAD2DEGF(1.0f)); /* rad -> deg */
 				break;
 			default: /* location */
 				copy_v3_v3(dvec, ct->matrix[3]);

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/curve.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/curve.c	2011-09-17 13:03:42 UTC (rev 40295)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/curve.c	2011-09-17 13:15:38 UTC (rev 40296)
@@ -1925,7 +1925,7 @@
 		/* flip rotation if needs be */
 		cross_v3_v3v3(cross_tmp, vec_1, vec_2);
 		normalize_v3(cross_tmp);
-		if(angle_normalized_v3v3(bevp_first->dir, cross_tmp) < 90.0f/(float)(180.0/M_PI))
+		if(angle_normalized_v3v3(bevp_first->dir, cross_tmp) < DEG2RADF(90.0f))
 			angle = -angle;
 
 		bevp2= (BevPoint *)(bl+1);

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/effect.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/effect.c	2011-09-17 13:03:42 UTC (rev 40295)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/effect.c	2011-09-17 13:15:38 UTC (rev 40296)
@@ -571,7 +571,7 @@
 			if(falloff == 0.0f)
 				break;
 
-			r_fac=saacos(fac/len_v3(efd->vec_to_point))*180.0f/(float)M_PI;
+			r_fac= RAD2DEGF(saacos(fac/len_v3(efd->vec_to_point)));
 			falloff*= falloff_func_rad(eff->pd, r_fac);
 
 			break;

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/particle.c	2011-09-17 13:03:42 UTC (rev 40295)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/particle.c	2011-09-17 13:15:38 UTC (rev 40296)
@@ -2544,7 +2544,7 @@
 						normalize_v3(v1);
 						normalize_v3(v2);
 
-						d = saacos(dot_v3v3(v1, v2)) * 180.0f/(float)M_PI;
+						d = RAD2DEGF(saacos(dot_v3v3(v1, v2)));
 					}
 
 					if(p_max > p_min)

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/screen.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/screen.c	2011-09-17 13:03:42 UTC (rev 40295)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/screen.c	2011-09-17 13:15:38 UTC (rev 40296)
@@ -277,8 +277,7 @@
 		ar->v2d.tab_offset= NULL;
 	}
 
-	if(ar)
-		BLI_freelistN(&ar->panels);
+	BLI_freelistN(&ar->panels);
 }
 
 /* not area itself */

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/seqeffects.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/seqeffects.c	2011-09-17 13:03:42 UTC (rev 40295)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list