SFML を使用してゲームの GUI を作成しようとしているので、glpush および 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 をレンダリングします