J'ai porté mon projet Opengl de Qt vers MFC avec succès .. uniquement en mode débogage.Dessin OpenGL invisible en mode release (lorsque _DEBUG est défini)
Tout fonctionne très bien en mode débogage.
Il fonctionne même en mode release, tant que _DEBUG est défini. Si ce n'est pas le cas, chaque fonction OpenGL est appelée, mais sans résultat sur l'écran.
Je n'utilise aucune fonction assert n'importe où dans le code. J'utilise Glew pour obtenir des pointeurs de fonction OpenGL.
est ici la fonction OpenGL (lent), même si je ne pense pas que cela va vraiment aider:
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();
}
Le problème principal est le suivant: Il est lié OpenGL rien sur l'écran si _DEBUG est non défini!
Quelqu'un sait d'où vient ce problème?
Publiez un programme minimal et complet qui illustre le problème. – genpfault
Possible de faire un buffer-swap si _DEBUG est défini? Mais c'est comme deviner sans plus de code ... – Constantin