-1
サイズ変更時にOpenGL関数を呼び出してゲームを反応させたいとします。サイズ変更時にopengl関数を呼び出す
void Game::changeSize(int w, int h) {
if (h == 0)
h = 1;
float ratio = w * 1.0/h;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glViewport(0, 0, w, h);
gluPerspective(45.0f, ratio, 0.1f, 100.0f);
glMatrixMode(GL_MODELVIEW);
}
私はchangeSize(m_width、m_height)とメインループでそれを呼び出す:
私はこの機能を持っています。 ビューポートを設定しますが、framebuffer_size_callbackに設定します。GLFW新しい幅と高さを設定することはできません。
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{
Game game;
game.changeSize(width, height);
}
どのようにするには?
おかげ
は、なぜあなたはコールバックで新しい 'Game'インスタンスを作成していますか?それはシングルトンクラスの形式ですか? –
別のクラスでvoidを使用する。 – Anoniem
なぜdownvote? – Anoniem