[Bf-blender-cvs] [87fac9a] master: use float (not double) for font matrix

Mike Erwin noreply at git.blender.org
Tue Dec 15 04:32:40 CET 2015


Commit: 87fac9a81623d4856e5325718501423abfbcbbe5
Author: Mike Erwin
Date:   Sun Dec 13 21:19:45 2015 -0500
Branches: master
https://developer.blender.org/rB87fac9a81623d4856e5325718501423abfbcbbe5

use float (not double) for font matrix

Following up on recent double --> float commits in the game engine.

===================================================================

M	source/blender/blenfont/BLF_api.h
M	source/blender/blenfont/intern/blf.c
M	source/blender/blenfont/intern/blf_internal_types.h
M	source/gameengine/Ketsji/KX_FontObject.cpp
M	source/gameengine/Rasterizer/RAS_IRasterizer.h
M	source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
M	source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h

===================================================================

diff --git a/source/blender/blenfont/BLF_api.h b/source/blender/blenfont/BLF_api.h
index 9527c4e..e565ffe 100644
--- a/source/blender/blenfont/BLF_api.h
+++ b/source/blender/blenfont/BLF_api.h
@@ -73,7 +73,7 @@ void BLF_size(int fontid, int size, int dpi);
  *  | m[3]  m[7]  m[11] m[15] |
  *
  */
-void BLF_matrix(int fontid, const double m[16]);
+void BLF_matrix(int fontid, const float m[16]);
 
 /* Draw the string using the default font, size and dpi. */
 void BLF_draw_default(float x, float y, float z, const char *str, size_t len) ATTR_NONNULL();
diff --git a/source/blender/blenfont/intern/blf.c b/source/blender/blenfont/intern/blf.c
index 6c3fd09..a387b26 100644
--- a/source/blender/blenfont/intern/blf.c
+++ b/source/blender/blenfont/intern/blf.c
@@ -384,7 +384,7 @@ void BLF_aspect(int fontid, float x, float y, float z)
 	}
 }
 
-void BLF_matrix(int fontid, const double m[16])
+void BLF_matrix(int fontid, const float m[16])
 {
 	FontBLF *font = blf_get(fontid);
 
@@ -511,7 +511,7 @@ static void blf_draw_gl__start(FontBLF *font, GLint *mode)
 	glPushMatrix();
 
 	if (font->flags & BLF_MATRIX)
-		glMultMatrixd((GLdouble *)&font->m);
+		glMultMatrixf(font->m);
 
 	glTranslate3fv(font->pos);
 
diff --git a/source/blender/blenfont/intern/blf_internal_types.h b/source/blender/blenfont/intern/blf_internal_types.h
index f17401a..0fac576 100644
--- a/source/blender/blenfont/intern/blf_internal_types.h
+++ b/source/blender/blenfont/intern/blf_internal_types.h
@@ -194,7 +194,7 @@ typedef struct FontBLF {
 	/* Multiplied this matrix with the current one before
 	 * draw the text! see blf_draw__start.
 	 */
-	double m[16];
+	float m[16];
 
 	/* clipping rectangle. */
 	rctf clip_rec;
diff --git a/source/gameengine/Ketsji/KX_FontObject.cpp b/source/gameengine/Ketsji/KX_FontObject.cpp
index 13a5ec6..32ac8c5 100644
--- a/source/gameengine/Ketsji/KX_FontObject.cpp
+++ b/source/gameengine/Ketsji/KX_FontObject.cpp
@@ -193,11 +193,7 @@ void KX_FontObject::DrawFontText()
 	const float aspect = m_fsize / size;
 
 	/* Get a working copy of the OpenGLMatrix to use */
-	double mat[16];
-	float *origmat = GetOpenGLMatrix();
-	for (unsigned short i = 0; i < 16; ++i) {
-		mat[i] = (double)origmat[i];
-	}
+	float *mat = GetOpenGLMatrix();
 
 	/* Account for offset */
 	MT_Vector3 offset = this->NodeGetWorldOrientation() * m_offset * this->NodeGetWorldScaling();
diff --git a/source/gameengine/Rasterizer/RAS_IRasterizer.h b/source/gameengine/Rasterizer/RAS_IRasterizer.h
index aa32f62..a92b877 100644
--- a/source/gameengine/Rasterizer/RAS_IRasterizer.h
+++ b/source/gameengine/Rasterizer/RAS_IRasterizer.h
@@ -446,7 +446,7 @@ public:
 	 */
 	virtual void RenderText3D(
 	        int fontid, const char *text, int size, int dpi,
-	        const float color[4], const double mat[16], float aspect) = 0;
+	        const float color[4], const float mat[16], float aspect) = 0;
 
 	/**
 	 * Renders 2D text string.
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
index e7b5beb..604b6a6 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
@@ -1504,7 +1504,7 @@ void RAS_OpenGLRasterizer::RenderBox2D(int xco,
 
 void RAS_OpenGLRasterizer::RenderText3D(
         int fontid, const char *text, int size, int dpi,
-        const float color[4], const double mat[16], float aspect)
+        const float color[4], const float mat[16], float aspect)
 {
 	/* gl prepping */
 	DisableForText();
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
index d6b2c3c..4c22d1d 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
@@ -297,7 +297,7 @@ public:
 
 	void RenderBox2D(int xco, int yco, int width, int height, float percentage);
 	void RenderText3D(int fontid, const char *text, int size, int dpi,
-	                  const float color[4], const double mat[16], float aspect);
+	                  const float color[4], const float mat[16], float aspect);
 	void RenderText2D(RAS_TEXT_RENDER_MODE mode, const char *text,
 	                  int xco, int yco, int width, int height);




More information about the Bf-blender-cvs mailing list