繁体   English   中英

为什么我的游戏场景显示为白色?

[英]Why does my game scene appear white?

我正在使用 OpenGL 开发 3d 游戏。 当我将一个场景更改为另一个场景时(无论是从 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);

您是否在代码中的其他地方调用了任何雾? 这似乎是一个常见的错误。 如果你是那么试试这个:

    glDisable(GL_FOG);

    //Draw 2d scene here

    glEnable(GL_FOG);

如果不是,那么您可能会错误地初始化某些内容。

尽管我主要是 DirectX 程序员,但我在这里没有看到任何问题。 我想如果你展示了你所有的初始化,我们也许可以帮助你。 我在处理图形编程时看到了很多奇怪的情况,所以这可能只是你在初始化时遇到的一个小错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM