无法使用FTGL更改字体颜色

时间:2013-11-27 05:13:48

标签: opengl text colors ftgl

如何更改FTGL中的字体颜色?

2 个答案:

答案 0 :(得分:2)

在要求渲染字体之前,只需使用glColor调用即可;您可能需要根据您的情况禁用照明。这是C ++的一个例子:

FTFont *myfont= new FTBufferFont("myfontfile.ttf");

glPushAttrib(GL_ALL_ATTRIB_BITS);
glDisable(GL_LIGHTING);
glDisable(GL_DEPTH_TEST);

glColor4d(1.0, 0.0, 0.0, 1.0);
myfont->Render("Hello world");

glPopAttrib();

答案 1 :(得分:0)

这对我有用:

FTGLPixmapFont font("Myfont.ttf");

glPushAttrib(GL_ALL_ATTRIB_BITS);

glPixelTransferf(GL_RED_BIAS, red - 1);
glPixelTransferf(GL_GREEN_BIAS, green - 1);
glPixelTransferf(GL_BLUE_BIAS, blue - 1);

font.Render(str, -1, FTPoint(x, y));

glPopAttrib();

如果您希望文字透明,可以为GL_ALPHA_BIAS添加另一行。