gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:29 26 4
gpt4 key购买 nike

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

例子:

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

最佳答案

如果您希望多重采样成为窗口的一部分,那么您别无选择,只能重新创建窗口。

但是,多重采样是渲染目标的一项功能。所以如果你想更好地控制它,你需要做的就是分配一个多重采样 rendebuffer自己,将其附加到 framebuffer object ,然后对其进行渲染(以及适当的深度/模板缓冲区,具体取决于您的特定需求)。当你想显示图像时,blit the multisampled renderbuffer to the window .

关于c++ - 在创建 SDL 窗口后更改 OpenGL 抗锯齿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com