C++ 在创建SDL窗口后更改OpenGL抗锯齿?

C++ 在创建SDL窗口后更改OpenGL抗锯齿?,c++,opengl,sdl-2,antialiasing,C++,Opengl,Sdl 2,Antialiasing,我遇到了一个问题,我希望能够在窗口打开时更改抗锯齿。SDL2只允许在创建窗口之前设置抗锯齿(采样),我想知道是否有一种方法不必在每次更改采样级别时重新创建窗口 例如: SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); // Before the window SDL_Window* window = SDL_CreateWindow("title", 0, 0, 960, 540, SDL_WINDOW_OPENGL); 如果希望多重采样成为

我遇到了一个问题,我希望能够在窗口打开时更改抗锯齿。SDL2只允许在创建窗口之前设置抗锯齿(采样),我想知道是否有一种方法不必在每次更改采样级别时重新创建窗口

例如:

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

如果希望多重采样成为窗口的一部分,则除了重新创建窗口外别无选择


但是,多重采样是渲染目标的一个功能。因此,如果您希望对其进行更好的控制,您只需自己分配一个多采样,将其附加到,然后渲染到(以及适当的深度/模具缓冲区,具体取决于您的特殊需要)。当您想要显示图像时,.

感谢您提供此信息。我可能会在以后的项目中使用它,但我找到了一个更简单的问题答案。