1
我將Qt中的Opengl項目移植到MFC中,但只有在調試模式下。OpenGL繪圖在發佈模式下不可見(當定義_DEBUG時)
在調試模式下,一切正常。
只要_DEBUG被定義,它甚至可以在發佈模式下工作。如果不是,每個OpenGL函數都會被調用,但屏幕上沒有結果。
我在代碼的任何地方都沒有使用斷言函數。 我使用Glew來獲取OpenGL函數指針。
這裏是(慢)的OpenGL函數,即使我不認爲這將真正幫助:
void COpenGLView::Render()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
for(u32 i = 0; i < 144; ++i)
{
for(u32 j = 0; j < 160; ++j)
{
switch(lcd_[(i * 160)+j] & 0x3)
{
case WHITE: glColor3f(0.75f,1.0f,0.75f); break;
case LIGHT_GREY: glColor3f(0.50f, 0.80f, 0.50f); break;
case DARK_GREY: glColor3f(0.25f,0.60f,0.25f); break;
case BLACK: glColor3f(0.0f,0.0f,0.0f); break;
}
glVertex2d(j,i);
glVertex2d(j,i + 1);
glVertex2d(j + 1,i + 1);
glVertex2d(j + 1,i);
}
}
glEnd();
FinishRender();
}
所以,主要的問題是:沒有什麼OpenGL相關的屏幕上,如果_DEBUG是沒有定義的!
任何人都知道這個問題從哪裏來?
發佈一個最小,完整的程序來演示問題。 – genpfault 2011-02-02 04:02:03