[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48496] branches/soc-2012-swiss_cheese/ source/blender/blenfont/intern/blf.c: Convert Fonts to software matrix stack.

Alexander Kuznetsov kuzsasha at gmail.com
Mon Jul 2 17:38:43 CEST 2012


Revision: 48496
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48496
Author:   alexk
Date:     2012-07-02 15:38:27 +0000 (Mon, 02 Jul 2012)
Log Message:
-----------
Convert Fonts to software matrix stack.

Modified Paths:
--------------
    branches/soc-2012-swiss_cheese/source/blender/blenfont/intern/blf.c

Modified: branches/soc-2012-swiss_cheese/source/blender/blenfont/intern/blf.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/blenfont/intern/blf.c	2012-07-02 15:26:47 UTC (rev 48495)
+++ branches/soc-2012-swiss_cheese/source/blender/blenfont/intern/blf.c	2012-07-02 15:38:27 UTC (rev 48496)
@@ -51,6 +51,7 @@
 #include "blf_internal.h"
 
 #include "GPU_compatibility.h"
+#include "GPU_matrix.h"
 
 
 /* Max number of font in memory.
@@ -558,24 +559,27 @@
 	}
 #endif
 
-	glMatrixMode(GL_TEXTURE);
-	glPushMatrix();
-	glLoadIdentity();
+	gpuMatrixLock();
 
-	glMatrixMode(GL_MODELVIEW);
-	glPushMatrix();
+	gpuMatrixMode(GPU_TEXTURE);
+	gpuPushMatrix();
+	gpuLoadIdentity();
 
+	gpuMatrixMode(GPU_MODELVIEW);
+	gpuPushMatrix();
+
+
 	if (font->flags & BLF_MATRIX) {
-		glMultMatrixd((GLdouble *)&font->m);
+		gpuMultMatrixd((GLdouble *)&font->m);
 	}
 
-	glTranslatef(font->pos[0], font->pos[1], font->pos[2]);
+	gpuTranslate(font->pos[0], font->pos[1], font->pos[2]);
 
 	if (font->flags & BLF_ASPECT)
-		glScalef(font->aspect[0], font->aspect[1], font->aspect[2]);
+		gpuScale(font->aspect[0], font->aspect[1], font->aspect[2]);
 
 	if (font->flags & BLF_ROTATION)
-		glRotatef(font->angle, 0.0f, 0.0f, 1.0f);
+		gpuRotateAxis(font->angle, 'Z');
 
 	if (font->shadow || font->blur) 
 		gpuGetCurrentColor4fv(font->orig_col);
@@ -583,6 +587,8 @@
 	/* always bind the texture for the first glyph */
 	font->tex_bind_state = -1;
 
+	gpuMatrixCommit();
+
 	draw_lock(font);
 }
 
@@ -590,12 +596,14 @@
 {
 	draw_unlock(font);
 
-	glMatrixMode(GL_TEXTURE);
-	glPopMatrix();
+	gpuMatrixMode(GPU_TEXTURE);
+	gpuPopMatrix();
 
-	glMatrixMode(GL_MODELVIEW);
-	glPopMatrix();
+	gpuMatrixMode(GPU_MODELVIEW);
+	gpuPopMatrix();
 
+	gpuMatrixUnlock();
+
 	/* XXX: current color becomes undefined due to use of vertex arrays,
 	        but a lot of code relies on it remaining the same */
 	if (font->shadow || font->blur) 




More information about the Bf-blender-cvs mailing list