• Advertisement

paulhankin

Member
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

100 Neutral

About paulhankin

  • Rank
    Newbie
  1. I've just looked at the NeHe freetype tutorial. [url="http://nehe.gamedev.net/tutorial/freetype_fonts_in_opengl/24001/"]http://nehe.gamedev....n_opengl/24001/[/url] It's a great tutorial, and I managed to get freetype fonts in my opengl game in no time at all There's a small, but significant problem with the code though! The textures are created as luminance-alpha textures, which is good, but the mistake is that both the luminance _and_ the alpha are set to the value from the glyph bitmap. This basically produces an image with premultiplied alpha, yet the alpha gets applied once more during rendering -- causing the edges of glyphs to become much more jaggy. Simply changing the bitmap creation code from: [code] for(int j = 0; j <height ; j++) { for(int i = 0; i < width; i++) { expanded_data[2 * (i + j * width)] = expanded_data[2 * (i + j * width) + 1] = (i >= bitmap.width || j >= bitmap.rows) ? 0 : bitmap.buffer[i + bitmap.width * j]; } }[/code] to: [code]for(int j = 0; j <height ; j++) { for(int i = 0; i < width; i++) { expanded_data[2 * (i + j * width)] = 255; expanded_data[2 * (i + j * width) + 1] = (i >= bitmap.width || j >= bitmap.rows) ? 0 : bitmap.buffer[i + bitmap.width * j]; } }[/code] produces a softer, less jaggy image.
  • Advertisement