pushGLStates在使用时返回GL_INVALID_OPERATION

时间:2013-04-21 14:53:12

标签: c++ opengl user-interface sfml

我试图使用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中的内部OpenGL调用失败&lt; 255&gt; :GL_INVALID_OPERATION,在当前状态下不允许指定的操作

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

0 个答案:

没有答案