opengl - SDL 多重采样和 OpenGL

标签 opengl sdl antialiasing multisampling

为了启用多重采样,我在项目中使用以下代码:

SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1);
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4);

我还需要调用glEnable(GL_MULTISAMPLE);吗?

如果我不调用它,我认为没有什么区别。

最佳答案

是的,如果不启用多重采样基元将会渲染别名。这是一个功能,因为如果对某些图形算法应用多重采样,某些图形算法就会崩溃,因此最好在整个渲染过程中有意启用和禁用它。

话虽这么说,双缓冲和深度分辨率与多重采样无关。相关属性是 SDL_GL_MULTISAMPLEBUFFERS 和 SDL_GL_MULTISAMPLESAMPLES

关于opengl - SDL 多重采样和 OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21095958/

相关文章:

ios - 不必要的轮廓出现在UIBezierPath的轮廓上,该UIBezierPath已填充并用作透视渐变的剪辑

C++ sdl : can i have an sdl-opengl window inside a menu and buttons i created with glade?

c++ - "Empty"使用 openGL 渲染

c++ - 在 macOS 上编译 C++ SDL

c++ - 如何使用 CheckMultisampleQualityLevels 并启用多重采样

CSS translate(0,5px) 使事物在 X 轴上摆动

c++ - 对 glm::slerp 的模糊调用

opengl - 从 GLSL 版本 1.20 开始允许 GLSL Uniforms 初始化

c++ - 在运行 OS X 10.7 Lion 的 Mac 上从源代码编译 SDL

events - 如何在 SDL 中检查或检测窗口是否最小化或未激活?