2016-07-16 8 views
3

私はウィンドウが開いている間にアンチエイリアシングを変更できるようにしたいという問題に遭遇しました。 SDL2では、ウィンドウが作成される前にアンチエイリアシング(サンプリング)が設定されているだけで、サンプルレベルを変更するたびにウィンドウを再作成する必要がないかどうかは疑問でした。SDLウィンドウの作成後にOpenGLアンチエイリアシングを変更しますか?

例:

SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); // Before the window 
SDL_Window* window = SDL_CreateWindow("title", 0, 0, 960, 540, SDL_WINDOW_OPENGL); 

答えて

2

あなたの窓の一部にマルチサンプリングしたい場合は、ウィンドウを再作成するしかありません。

ただし、マルチサンプリングはレンダーターゲットの関数です。ですから、あなたが必要とするのは、マルチサンプルのrendebufferを自分自身に割り当てて、framebuffer objectにアタッチしてからレンダリングするだけです(必要に応じて、適切な深度/ステンシルバッファと共に)。イメージを表示する場合は、blit the multisampled renderbuffer to the window

+0

ありがとうございます。私は後のプロジェクトでこれを使うかもしれませんが、私の問題に対するより単純な答えが見つかりました。 – Jarann

関連する問題