diff --git a/src/GL.cc b/src/GL.cc index 37b39fe..d913816 100644 --- a/src/GL.cc +++ b/src/GL.cc @@ -48,6 +48,7 @@ static VALUE GL_draw_text(VALUE klass, VALUE r, VALUE g, VALUE b, VALUE a) { int x_int = FIX2INT(x); + int y_int = FIX2INT(y) + FIX2INT(rb_iv_get(font, "@baseline_offset")); glUseProgram(programs[PROGRAM_TEXT]->id); glUniform1i(programs[PROGRAM_TEXT]->uniforms[UNIFORM_TEXTURE], 0); glUniform4f(programs[PROGRAM_TEXT]->uniforms[UNIFORM_COLOR], @@ -61,7 +62,7 @@ static VALUE GL_draw_text(VALUE klass, int advance = FIX2INT(rb_iv_get(font, "@advance")); for (int i = 0; i < length; i++) { - glUniform2i(programs[PROGRAM_TEXT]->uniforms[UNIFORM_POSITION], x_int, FIX2INT(y)); + glUniform2i(programs[PROGRAM_TEXT]->uniforms[UNIFORM_POSITION], x_int, y_int); Font_RenderGlyph(font, string_ptr[i]); x_int += advance; }