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);
60 GLenum format = GL_ALPHA;
63 glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, w, h, 0, GL_ALPHA, GL_UNSIGNED_BYTE,
_image->
getData());
76 GLdouble polygonMode[2];
77 glGetDoublev(GL_POLYGON_MODE, polygonMode);
78 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
80 glDisable(GL_DEPTH_TEST);
81 glEnable(GL_TEXTURE_2D);
94 for (
unsigned int i = 0; i < msg.length(); ++i)
99 double x0 =
static_cast<double>(
c.x) / width;
100 double y0 =
static_cast<double>(
c.y) / height;
102 double x1 =
static_cast<double>(
c.x +
c.w) / width;
103 double y1 =
static_cast<double>(
c.y +
c.h) / height;
106 glTexCoord2d(x0, y0);
108 glTexCoord2d(x0, y1);
109 glVertex2d(x, y -
c.h);
110 glTexCoord2d(x1, y1);
111 glVertex2d(x +
c.w, y -
c.h);
112 glTexCoord2d(x1, y0);
113 glVertex2d(x +
c.w, y);
119 if (i < msg.length() - 1)
126 glDisable(GL_TEXTURE_2D);
127 glEnable(GL_DEPTH_TEST);
129 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 getDepth() const
unsigned int getSizeX() const
unsigned int getSizeY() const
static LPTYImageManager get()