float gfx::draw_glyph(float px, float py, float fs, const Glyph &gly) { const math::vec4f &corner1 = gly.getCorner1(), &corner2 = gly.getCorner2(); float rendx1 = px + (corner1.x() * fs), rendy1 = py + (corner1.y() * fs), rendx2 = px + (corner2.x() * fs), rendy2 = py + (corner2.y() * fs); //if(gly.getCode() == 'T') //{ // std::cout << corner1 << " : " << corner2 << std::endl; //} gly.bind(); draw_fill(0, rendx1, rendy1, corner1.z(), corner1.w()); draw_fill(1, rendx2, rendy1, corner2.z(), corner1.w()); draw_fill(2, rendx1, rendy2, corner1.z(), corner2.w()); draw_fill(3, rendx2, rendy2, corner2.z(), corner2.w()); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); return gly.getAdvance().x() * fs; }