Почему моя игровая сцена выглядит белой? - PullRequest
1 голос
/ 22 июля 2011

Я занимаюсь разработкой 3d-игры с OpenGL.Когда я меняю одну сцену на другую (независимо от сцены меню 2d на сцену 3D-игр или сцену 2D на другую сцену 2D), вторая сцена просто кажется белой, и я не знаю почему.Любая помощь?

Это мой код рамки рендеринга:

//Clear the window with current clearing color
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0, 800, 600, 0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

//draw 2d
if (!CurrentStage.IsNull()) 
{
    CurrentStage->Draw(false); 
}
glMatrixMode(GL_PROJECTION);
glPopMatrix();

glDisable(GL_DITHER);
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);
glEnable(GL_TEXTURE_2D);

//Post camera to current position.
glMatrixMode(GL_MODELVIEW);
Cameras->Post();

//draw 3d
if (!CurrentStage.IsNull()) 
{
    CurrentStage->Draw(true);
}


glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);

SwapBuffers(Core->mhDC);

//Render finish.
Sleep(0);

Ответы [ 2 ]

0 голосов
/ 10 января 2014

Вы называете какой-нибудь туман в другом месте вашего кода? Это похоже на общую ошибку. Если это так, попробуйте это:

    glDisable(GL_FOG);

    //Draw 2d scene here

    glEnable(GL_FOG);

Если нет, возможно, вы что-то неправильно инициализируете.

0 голосов
/ 07 октября 2011

Я не вижу здесь никаких проблем, хотя я в основном программист DirectX.Я думаю, что если вы показали все свои инициализации, мы можем помочь вам.Я видел много странных случаев при работе с графическим программированием, поэтому это может быть просто небольшая ошибка, которую вы имеете при инициализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...