我正在FTGL中使用紋理字體將字體呈現爲多個畫布,作爲軸的標籤等。我的第一個情節出來很好。但是隨後的所有畫布都將我的紋理字體渲染爲簡單的黑色方塊。我也注意到一些數字不會顯示在實際呈現的畫布上。 「中心時間」應顯示8.3956,但會顯示以下內容。當使用多個畫布時,FTGL紋理字體僅顯示黑色框
字體呈現如下:
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
PushGLMatrices();
GrSetPixelProjection();
glTranslatef(pixelX, pixelY, 0.0);
glRotatef(ang, 0.0, 0.0, 1.0);
savedFont->Render(label);
PopGLMatrices();
其中
void PushGLMatrices()
{
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
}
void PopGLMatrices()
{
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
}
我已經嘗試了一些東西,比如clearning顏色和深度位,glEnable(GL_TEXTURE_2D ); glDisable(GL_DEPTH_TEST);但這似乎沒有幫助。出於某種原因,如果我將FTTextureFont :: FaceSize(int)添加到返回文本寬度的例程中,則所有內容都可以正確顯示(雖然速度很慢)。從查看FTGL源代碼看來,FaceSize()似乎不會處理除glDeleteTexture()調用之外的openGL參數,所以我有點困惑爲什麼這會起作用。
這是否解決了?我在Linux Ubuntu上看到類似的問題,除了它在啓動時是隨機的。要麼沒關係,要麼有盒子。 – Joe