FreeType上的OpenGl纹理贴图块颜色?

FreeType上的OpenGl纹理贴图块颜色?,opengl,freetype,Opengl,Freetype,我使用FreeType是为了允许在OpenGL中使用字体。然而,我有一个问题,我不能改变字体颜色,每当我做纹理映射。无论我使用glColor3f选择什么,它都会显示为白色。质地很好 glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); glColor3f(0.5,0.0,0.5); glPushMatrix(); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_AL

我使用FreeType是为了允许在OpenGL中使用字体。然而,我有一个问题,我不能改变字体颜色,每当我做纹理映射。无论我使用glColor3f选择什么,它都会显示为白色。质地很好

glClear(GL_COLOR_BUFFER_BIT);

glLoadIdentity();

glColor3f(0.5,0.0,0.5);
glPushMatrix();
glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

    glEnable(GL_TEXTURE_2D);
    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
    glBindTexture(GL_TEXTURE_2D, texName);
    glBegin(GL_POLYGON);
        glTexCoord2f(0,1); glVertex2f(-16,-16);
        glTexCoord2f(0,0); glVertex2f(-16,16);
        glTexCoord2f(1,0); glVertex2f(16,16);
        glTexCoord2f(1,1); glVertex2f(16,-16);
    glEnd();
    glDisable(GL_TEXTURE_2D);

    glDisable(GL_BLEND);
glPopMatrix();
    glColor3f(1,0,0);
print(our_font, -300+screenWidth/2.0, screenHeight/2.0, "fifty two - %7.2f", spin);

这是问题代码,我可以确认在代码下面画一个多边形确实会使它变成红色。文本没有变为红色,尽管它应该变为红色;如果删除上面的纹理贴图,它将再次变为红色,我只能认为这是启用和禁用的问题,我忘记了做什么…?

修复了它。就在禁用纹理后,我忘记将环境设置回调制:

glTexEnvf(GL_纹理_环境,GL_纹理_环境模式,GL_调制)

禁用纹理/混合后添加此选项可修复此问题