39 glBindTexture(GL_TEXTURE_2D,
id);
40 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
41 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
42 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
43 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
44 glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
59 glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, w, h, 0, GL_ALPHA, GL_UNSIGNED_BYTE,
_image->
getData());
72 GLdouble polygonMode[2];
73 glGetDoublev(GL_POLYGON_MODE, polygonMode);
74 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
76 glDisable(GL_DEPTH_TEST);
77 glEnable(GL_TEXTURE_2D);
90 for (
unsigned int i = 0; i < msg.length(); ++i)
95 double x0 =
static_cast<double>(
c.x) / width;
96 double y0 =
static_cast<double>(
c.y) / height;
98 double x1 =
static_cast<double>(
c.x +
c.w) / width;
99 double y1 =
static_cast<double>(
c.y +
c.h) / height;
102 glTexCoord2d(x0, y0);
104 glTexCoord2d(x0, y1);
105 glVertex2d(x, y -
c.h);
106 glTexCoord2d(x1, y1);
107 glVertex2d(x +
c.w, y -
c.h);
108 glTexCoord2d(x1, y0);
109 glVertex2d(x +
c.w, y);
115 if (i < msg.length() - 1)
122 glDisable(GL_TEXTURE_2D);
123 glEnable(GL_DEPTH_TEST);
125 glPolygonMode(GL_FRONT_AND_BACK, (GLenum)polygonMode[0]);
bool load(const char *filename)
void drawText(const std::string &msg, const OColor &color, double x, double y) const
const int getKerning(unsigned char first, unsigned char second) const
const OGLFontChar & getChar(unsigned char c) const
unsigned char * getData() const
unsigned int getSizeX() const
unsigned int getSizeY() const
static LPTYImageManager get()