Hey, This is my scenario: Using visual studio 2008. Project is in c# Using Tao framework along with ISE.FreeType to render text. The font is already loaded and converted to texture bitmap:
//Creamos la fuente
fuenteActual = new FTFont(fuentes.FontMap[fuente], out ultimoError);
//Convierte la fuente a textura. Estos valores se usan en el ejemplo, creo que tiene que ver con la calidad/eficiencia.
fuenteActual.ftRenderToTexture(64, 96);
//Ponemos la alineacion por defecto como centrada.
fuenteActual.FT_ALIGN = FTFontAlign.FT_ALIGN_CENTERED;
To get straight to the point, this is my code to render some text.
Gl.glLoadIdentity();
float tamaño = texto.Tamaño;
double tan = texto.Orientacion.Y / texto.Orientacion.X;
float angulo = (float)Math.Atan(tan);
Gl.glColor3f(texto.getRFloat(), texto.getGFloat(), texto.getBFloat());
Gl.glScalef(tamaño, tamaño, tamaño);
Gl.glTranslatef((float)texto.Posicion.X, (float)texto.Posicion.Y, (float)texto.Posicion.Z);
Gl.glRotatef(angulo,0,1,0);
if (texto.Alineacion == Align.left)
fuenteActual.FT_ALIGN = FTFontAlign.FT_ALIGN_LEFT;
if (texto.Alineacion == Align.center)
fuenteActual.FT_ALIGN = FTFontAlign.FT_ALIGN_CENTERED;
if (texto.Alineacion == Align.right)
fuenteActual.FT_ALIGN = FTFontAlign.FT_ALIGN_RIGHT;
fuenteActual.ftBeginFont();
fuenteActual.ftWrite(texto.Text);
fuenteActual.ftEndFont();
1) The first time the control draws the text, the position is detected properly The second time the control redraws, the X position is ingored and the text is horizontally centered. Only the height (Y position) is working.
2) Rotate does not work. The text is always displayed horizontally despite having the modelview matrix rotated. Why is this? I thought texture fonts were treated like any other OpenGL primitive.