Side note:
... taking the output of FreeType and putting it in a texture ... note
the removal of "3d"
3D textures are volumes with stp texture coordinates, GL_TEXTURE_3D (not
to be confused with cube textures, as in GL_TEXTURE_CUBE_MAP, also using
stp coords).
for standard text, standard texturing with st texture coords is
sufficient, to be drawn using GL_TEXTURE_2D.
*Yes, freetype allows to control antialiasing, there's an interactive
demo about that;* however in a 3D pipeline you may have to take in
consideration eventual non-standard blend modes and alpha test, which
could shave off some pixels. Most GL applications will automatically
linearly interpolate texels (as this is the default mode and most people
don't mind setting GL_TEXTURE_NEAREST_MIPMAP_NEAREST as opposed to D3D9,
where the default filtering is a NEAREST - blocky - one) and thus the
effect of interpolating antialiased texture samples may result in overly
blurry bounduaries: recall that 3d pipe texture samples are "points" as
opposed to "pixels" as one (as the antialiaser) might expect/assume.
Embedding 2D text on 3D perspective-corrected surfaces? Then, you have
nothing else to do than rely on texture interpolators, and just hope and
pray everything is kept readable (all bets about constant sampling as
intended by the antialiaser are off, as the texture domain is linearly
deformed after AA operations). Don't worry, it's years texture
interpolators are good enough to let you do this without much trouble.
Massimo
Dave Calkins ha scritto:
Werner, the more I think about this, I believe FreeType provides
anti-aliased rendering doesn't it? I think the GL component is simply
taking the output of FreeType and putting it in a 3D texture to be
drawn by GL. But I think the anti-aliasing is something being done by
FreeType.
Does FreeType allow you to control the degree of anti-aliasing?
_______________________________________________
Freetype mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/freetype