2010-04-25 2 views
0

OpenType에서 글꼴을 사용할 수 있도록 FreeType을 사용하고 있습니다. 그러나 텍스쳐 매핑을 할 때마다 글꼴 색을 바꿀 수없는 문제가 있습니다. glColor3f를 사용하여 무엇을 선택 하든지 상관없이 흰색으로 나옵니다. 텍스처가 잘 작동합니다.OpenType 텍스처 매핑은 FreeType에서 색상을 차단합니까?

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); 

이 코드는 문제가되는 코드입니다.이 코드 아래에있는 다각형을 그리면 실제로 빨간색이됩니다. 텍스트가 빨간색으로 변하지 않습니다. 위의 텍스처 맵핑을 제거하면 다시 빨간색으로 바뀌며 활성화 및 비활성화에 문제가 있다고 생각하고 뭔가를 잊었습니다 ...?

답변

1

수정 됨. 텍스처를 비활성화 한 직후에 환경을 변조하도록 설정하는 것을 잊었습니다.

glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

텍스처/블렌딩을 비활성화 한 후에 추가하면 문제가 해결됩니다.

관련 문제