  | 
   Easy Polygonal Text Rendering 
   Submitted by  |   
  
  
* glyph.c
glyph.c provides an efficient,  portable means of rendering text using
OpenGL.
It renders text  as polygons, since polygonal text  scales both up and
down better  than texture-mapped,  line-stroke, or bitmap  text.  Each
glyph  is represented  using  only a  few  triangles, specified  using
triangle strips.   In most  cases, each vertex  is touched  only once.
Despite the low  polygon count, text is extremely  legible at most any
size.
This code does not rely upon GLX, WGL, Freetype, or any other external
library, so  it can be easily  included in code for  any platform.  It
has been tested under Win2K, Linux and IRIX.
The font description requires less than 2KB of memory and is specified
in less  than 500  lines of C  code.  It  is linked directly  with the
application, so no external file loading is necessary.
Glyphs are  drawn mono-spaced  in a  1x1 unit square  in the  Z plane.
Text may  be transformed normally.  In  the opinion of  the author, it
looks best when scaled to a 1:2 aspect ratio.
Using the  default renderer, draw_glyph(),  a translation one  unit to
the right is applied after each  glyph is drawn.  This allows a string
to be rendered as a sequence of calls to draw_glyph().
Text is rendered  using the current material properties.   If it is to
be correctly lit, set the current normal to [0 0 1] before calling the
renderer.
draw_glyph() uses OpenGL  immediate mode, but it may  be called during
the creation of a display list.  Only slightly more effort is required
to create vertex arrays.
Representations of all 128 ASCII characters are defined.  Non-printing
characters appear as a "no glyph" box.
  * test.c
test.c is a simple GLUT-based program that renders all 128 characters.
Resize the  window to see  how the font  looks at different  sizes and
aspect ratios.   For very small  text, it is recommended  that polygon
smoothing or full-screen anti-aliasing be enabled.
 | 
 
 
 
 
The zip file viewer built into the Developer Toolbox made use
of the zlib library, as well as the zlibdll source additions.
 
 
 |