1

我正在尝试使用 SFML 为我的游戏制作 gui,因此建议使用 glpush 和 pop 状态。并输入我的命令以在 push 和 pop 之间绘制 gui。所以这就是我所拥有的:

void Engine::run()
{
while (App.isOpen())
{
    while (c_FPSClock.getElapsedTime().asSeconds() < 1.f/60)
    {
    }




    // Set the active window before using OpenGL commands
    // It's useless here because active window is always the same,
    // but don't forget it if you use multiple windows or controls
    App.setActive();



    App.pushGLStates();
    App.draw(text);
    App.popGLStates();

    // Clear color and depth buffer
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();



    getInput();
    update();
    render();

    App.display();
}
}

但这让我的游戏变得非常糟糕:

- The input isn't working like before at all
- The player is rendering below the map

我要做的就是在屏幕底部绘制一些文本以显示健康状况和一个矩形!哈哈。

我也在控制台中收到这些错误

RenderTarget.cpp <255> 中的内部 OpenGL 调用失败:GL_INVALID_OPERATION,当前状态下不允许指定的操作

游戏使用 C++ OpenGL 和 SFML 构建,用于渲染窗口和 gui

4

0 回答 0