我使用以下代码来仅对多边形的边缘进行抗锯齿处理:
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/