The code that draws each character is
[source lang="cpp"] //Get a pointer to the drawBuffers vertices to manipulate float vertices[4 * 3]; // = drawBuffer->getVertices(); //Set the drawBuffers vertices vertices[0] = X + offsetX; vertices[1] = Y + offsetY; vertices[2] = 0; vertices[3] = X + offsetX; vertices[4] = Y + Height + offsetY; vertices[5] = 0; vertices[6] = X + Width + offsetX; vertices[7] = Y + Height + offsetY; vertices[8] = 0; vertices[9] = X + Width + offsetX; vertices[10] = Y + offsetY; vertices[11] = 0; float tex[4 * 2]; tex[0] = 0; tex[1] = 0; tex[2] = 0; tex[3] = 1; tex[4] = 1; tex[5] = 1; tex[6] = 1; tex[7] = 0; unsigned short indices[6] = { 0, 1, 2, 2, 3, 0 }; fontShader->MakeActive(); fontShader->SetMVP(projection.Multiply(view)); fontShader->SetVertices(vertices, 4, 3 * sizeof(float)); fontShader->SetTextureCoords(tex, 4, 2 * sizeof(float)); fontShader->SetBaseTexture(CharList[Char].charTexture); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);[/source]
and the shader for the UI is
[source lang="cpp"][START FRAGMENT]#ifdef GL_ESprecision lowp float;#endifvarying vec2 v_Tc;uniform sampler2D u_BaseTexture;void main() { gl_FragColor = texture2D(u_BaseTexture, v_Tc);}[END FRAGMENT][START VERTEX]uniform mat4 u_MVP;attribute vec3 a_Vertex;varying vec2 v_Tc;attribute vec2 a_TexCoord;void main() { v_Tc = a_TexCoord; vec4 position = vec4(a_Vertex.xyz, 1.0); gl_Position = u_MVP * position;}[END VERTEX][/source]
any insight into this issue would be invaluable.
Edited by Jawline, 26 November 2012 - 07:04 PM.






