SDL窗口创建后更改OpenGL抗锯齿
Changing OpenGL anti aliasing after SDL window creation?
我遇到了一个问题,我希望能够在窗口打开时更改抗锯齿。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,将其附加到帧缓冲区对象,然后渲染到该对象(根据你的特定需求,还需要一个适当的深度/模具缓冲区)。如果要显示图像,请将多采样渲染缓冲区blit到窗口中。
相关文章:
- 无法启动 OpenGL 窗口
- 如何将 Unity 上下文导入 OpenGL 窗口
- 无法使我的第一个Windows OpenGL窗口抬起并运行
- SDL2 OpenGL窗口立即关闭
- 使用 OpenGL 窗口(如 GLFW)或周围的窗口(如 GTK 或 SDL)是否存在性能差异?
- 异步渲染到 Qt OpenGL 窗口
- 使用64位 自定义窗口形状(ETC平滑的角落不是矩形)在Windows中使用C 创建OpenGL窗口
- 2个线程 - 一个带有OpenGL窗口的线程,第二个带有WXWIDGETS的窗口
- 如何在Opengl窗口上加快与Cairo的绘图速度
- OpenGL 窗口的捕获图像在 Win7 下为黑色
- OpenGL窗口的高效同步功能
- OpenGL窗口总是很忙
- 禁用 DWM 会导致 OpenGL 窗口中的前端缓冲区损坏
- OpenGL 窗口从一个应用程序在另一个应用程序中
- OpenGL窗口应用程序检查事件更新的频率
- 如何使用GLFW确定OpenGL 3.3窗口的可绘制区域的大小
- 将OpenGL窗口添加到GTK生成器中
- SDL2 OpenGL窗口缩小和改变鼠标坐标
- opengl窗口外的菜单是如何实现的?
- Mac OS X拒绝创建我的OpenGL窗口