c++ - OpenGL 抗锯齿不起作用

标签 c++ opengl

我使用以下代码来仅对多边形的边缘进行抗锯齿处理:

glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);
glEnable(GL_POLYGON_SMOOTH);

但它不起作用。

我可以通过 nvidia 控制面板强制启用抗锯齿,它会抗锯齿我的应用程序多边形。使用上面的代码,我什至启用了混合,但它没有任何效果。此外,渲染代码不应更改,因为 nvidia 控制面板可以将其打开,而且它肯定不能修改我的渲染代码,它必须是一些开/关标志。这是什么?

我听说过“多重采样”,但我不需要那个。

编辑:nvidia 控制面板设置在不起作用时是“应用程序控制的”。

最佳答案

您需要请求支持多重采样的视觉/像素格式。这是在使用 GLX/XLib 时传递给 glXChooseFBConfig 的属性列表中的属性,在使用 Win32 API 时传递给 wglChoosePixelformatARB 的属性列表。在这里查看我的帖子:Getting smooth, big points in OpenGL

关于c++ - OpenGL 抗锯齿不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1975778/

相关文章:

c++ - 应用世界变换

c++ - (C++) 试图记住在哪里定义函数

c++ - 我怎样才能找到下载的 C++ 软件源代码的结构

C++单例与完全静态对象

c++ - 尝试使用宽度(但不是高度)缩放 OpenGL 程序?

c++ - "hello triangle"没有显示。是否有某些功能未正确使用?

javascript - 所有面向对象的语言都会在内存中创建大量重复信息吗?

c++ - C++ 中永无止境的 while 循环,即在输入字符串 == no 时结束?

opengl - 给定一个 4x4 齐次矩阵,我如何获得 3D 世界坐标?

c++ - 在 OpenGL 中渲染 .obj 文件最终会丢失顶点