创建SDL窗口后更改OpenGL的抗锯齿设置?

4
我遇到了一个问题,我想在窗口打开时更改抗锯齿设置。SDL2只允许在创建窗口之前设置抗锯齿(采样),我想知道是否有一种方法可以不必每次更改采样级别时都重新创建窗口。
例子:
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); // Before the window
SDL_Window* window = SDL_CreateWindow("title", 0, 0, 960, 540, SDL_WINDOW_OPENGL);
1个回答

3
如果您想让多重采样成为窗口的一部分,那么您别无选择,只能重新创建窗口。
然而,多重采样是渲染目标的一个功能。因此,如果您想更好地控制它,您只需要自己分配一个多重采样的渲染缓冲区,将其附加到帧缓冲对象上,然后对其进行渲染(以及适当的深度/模板缓冲区,具体取决于您的特定需求)。当您想显示图像时,将多重采样的渲染缓冲区复制到窗口即可。

谢谢这个信息。我可能会在以后的项目中使用它,但我找到了一个更简单的解决方案来解决我的问题。 - James Nguyen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接