libmoldeo (Moldeo 1.0 Core)
1.0
libmoldeo is the group of objects and functions that executes the basic operations of Moldeo 1.0 Platform.
|
Render text as texture mapped translucent quads. More...
#include <moOGLFT.h>
Public Member Functions | |
TranslucentTexture (const char *filename, float point_size=12, FT_UInt resolution=100) | |
TranslucentTexture (FT_Face face, float point_size=12, FT_UInt resolution=100) | |
~TranslucentTexture (void) | |
Public Member Functions inherited from OGLFT::Texture | |
Texture (const char *filename, float point_size=12, FT_UInt resolution=100) | |
Texture (FT_Face face, float point_size=12, FT_UInt resolution=100) | |
virtual | ~Texture (void) |
void | setCharacterRotationX (GLfloat character_rotation_x) |
void | setCharacterRotationY (GLfloat character_rotation_y) |
void | setCharacterRotationZ (GLfloat character_rotation_z) |
GLfloat | characterRotationX (void) const |
GLfloat | characterRotationY (void) const |
GLfloat | characterRotationZ (void) const |
double | height (void) const |
BBox | measure (unsigned char c) |
BBox | measure (const char *s) |
Public Member Functions inherited from OGLFT::Face | |
Face (const char *filename, float point_size=12, FT_UInt resolution=100) | |
Face (FT_Face face, float point_size=12, FT_UInt resolution=100) | |
virtual | ~Face (void) |
bool | isValid (void) const |
bool | addAuxiliaryFace (const char *filename) |
bool | addAuxiliaryFace (FT_Face face) |
void | setCompileMode (enum GlyphCompileMode compile_mode) |
enum GlyphCompileMode | compileMode (void) const |
void | setPointSize (float point_size) |
float | pointSize (void) |
void | setResolution (FT_UInt resolution) |
FT_UInt | resolution (void) |
void | setAdvance (bool advance) |
bool | advance (void) const |
void | setForegroundColor (GLfloat red=0.0, GLfloat green=0.0, GLfloat blue=0.0, GLfloat alpha=1.0) |
void | setForegroundColor (const GLfloat foreground_color[4]) |
GLfloat | foregroundRed (void) const |
GLfloat | foregroundGreen (void) const |
GLfloat | foregroundBlue (void) const |
GLfloat | foregroundAlpha (void) const |
void | setBackgroundColor (GLfloat red=1.0, GLfloat green=1.0, GLfloat blue=1.0, GLfloat alpha=0.0) |
void | setBackgroundColor (const GLfloat background_color[4]) |
GLfloat | backgroundRed (void) const |
GLfloat | backgroundGreen (void) const |
GLfloat | backgroundBlue (void) const |
GLfloat | backgroundAlpha (void) const |
void | setCharacterRotationReference (unsigned char c) |
void | setStringRotation (GLfloat string_rotation) |
GLfloat | stringRotation (void) const |
void | setHorizontalJustification (enum HorizontalJustification horizontal_justification) |
enum HorizontalJustification | horizontalJustification (void) const |
void | setVerticalJustification (enum VerticalJustification vertical_justification) |
enum VerticalJustification | verticaljustification (void) const |
void | setCharacterDisplayLists (const DisplayLists &character_display_lists) |
DisplayLists & | characterDisplayLists (void) |
virtual BBox | measureRaw (const char *s) |
GLuint | compile (const char *s) |
GLuint | compile (unsigned char c) |
void | draw (const char *s) |
void | draw (unsigned char c) |
void | draw (GLfloat x, GLfloat y, unsigned char c) |
void | draw (GLfloat x, GLfloat y, GLfloat z, unsigned char c) |
void | draw (GLfloat x, GLfloat y, const char *s) |
void | draw (GLfloat x, GLfloat y, GLfloat z, const char *s) |
int | ascender (void) |
int | descender (void) |
Additional Inherited Members | |
Public Types inherited from OGLFT::Face | |
enum | HorizontalJustification { LEFT, ORIGIN, CENTER, RIGHT } |
enum | VerticalJustification { BOTTOM, BASELINE, MIDDLE, TOP } |
enum | GlyphCompileMode { COMPILE, IMMEDIATE } |
Protected Types inherited from OGLFT::Texture | |
typedef std::map< FT_UInt, TextureInfo > | GlyphTexObjs |
Type of the cache of defined glyph to texture objects mapping. More... | |
typedef GlyphTexObjs::const_iterator | GTOCI |
typedef GlyphTexObjs::iterator | GTOI |
Protected Types inherited from OGLFT::Face | |
typedef std::map< FT_UInt, GLuint > | GlyphDLists |
Type of the cache of defined glyph to display list mapping. More... | |
typedef GlyphDLists::const_iterator | GDLCI |
typedef GlyphDLists::iterator | GDLI |
Protected Member Functions inherited from OGLFT::Texture | |
unsigned int | nearestPowerCeil (unsigned int a) |
Protected Attributes inherited from OGLFT::Texture | |
struct { | |
bool active_ | |
the other values.) More... | |
GLfloat x_ | |
Angle of rotation in the X direction. More... | |
GLfloat y_ | |
Angle of rotation in the Y direction. More... | |
GLfloat z_ | |
Angle of rotation in the Z direction. More... | |
} | character_rotation_ |
Angle of rotation of characters relative to text orientation. More... | |
GlyphTexObjs | glyph_texobjs_ |
Cache of defined glyph texture objects. More... | |
Protected Attributes inherited from OGLFT::Face | |
std::vector< FaceData > | faces_ |
bool | valid_ |
Did a font load OK? More... | |
enum GlyphCompileMode | compile_mode_ |
Glyph display list creation mode. More... | |
float | point_size_ |
Nominal point size. More... | |
FT_UInt | resolution_ |
Display resolution in pixels per inch. More... | |
bool | advance_ |
Does rendering text affect the MODELVIEW matrix? More... | |
GLfloat | foreground_color_ [4] |
GLfloat | background_color_ [4] |
Background color (what modes would use this?) More... | |
enum HorizontalJustification | horizontal_justification_ |
PHIGS-like horizontal positioning of text. More... | |
enum VerticalJustification | vertical_justification_ |
PHIGS-like vertical positioning of text. More... | |
GLfloat | string_rotation_ |
Rotate an entire string in the Z plane. More... | |
FT_UInt | rotation_reference_glyph_ |
FT_Face | rotation_reference_face_ |
The rotation reference character could be in any face. More... | |
GLfloat | rotation_offset_y_ |
GlyphDLists | glyph_dlists_ |
Cache of defined glyph display lists. More... | |
DisplayLists | character_display_lists_ |
Render text as texture mapped translucent quads.
This style is similar to the Translucent raster style, except instead of using glDrawPixels
to draw the raster image, the image is used as a texture map on a quad. If drawing is confined to the Z plane, then you will see no difference between this style and Translucent. However, because the quad is a 3D object, it can be transformed by the usual modeling operations; so, texture mapped glyphs can be rotated in the X and Y directions as well as Z direction. Also, if the viewing (or modeling) transformation has a non-unity scale or shear, the glyphs will also be scaled or sheared (unlike the raster styles). Also, there is no problem with clipping glyphs which lie off the screen; texture mapped quads are properly clipped to the screen boundary.
If this is not convincing enough, the performance of texture mapped glyphs is generally as good as or better than the equivalent raster style (especially with hardware texture acceleration). However, they do consume more memory space.
Note: you must call
before drawing in order for textured glyphs to be rendered properly. Additionally, you need to activate blending in order to achieve the translucent effect:
OGLFT::TranslucentTexture::TranslucentTexture | ( | const char * | filename, |
float | point_size = 12 , |
||
FT_UInt | resolution = 100 |
||
) |
filename | the filename which contains the font face. |
point_size | the initial point size of the font to generate. A point is essentially 1/72th of an inch. Defaults to 12. |
resolution | the pixel density of the display in dots per inch (DPI). Defaults to 100 DPI. |
Definition at line 3743 of file moOGLFT.cpp.
OGLFT::TranslucentTexture::TranslucentTexture | ( | FT_Face | face, |
float | point_size = 12 , |
||
FT_UInt | resolution = 100 |
||
) |
face | open FreeType FT_Face. |
point_size | the initial point size of the font to generate. A point is essentially 1/72th of an inch. Defaults to 12. |
resolution | the pixel density of the display in dots per inch (DPI). Defaults to 100 DPI. |
Definition at line 3748 of file moOGLFT.cpp.
OGLFT::TranslucentTexture::~TranslucentTexture | ( | void | ) |
The translucent texture destructor doesn't really do anything.
Definition at line 3753 of file moOGLFT.cpp.