首先,此代码的目的是什么?
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
我可以把
GL_DONT_CARE
放在那里,但除非我使用glDisable(GL_LINE_SMOOTH)
,否则它不会画出线条,除非所以我问是否有内置的机制来使线条画线,即使没有平滑的线条也支持(所以它会画线而不会抗锯齿...)
还是我必须为此制定自己的功能并检查是否支持平滑线等...并且每次我想绘制平滑线时,都需要调用此函数来检查其是否受支持?啊
编辑:这些线在我的另一张卡上是平滑的,在我的另一张卡上它们甚至不会显示,除非我禁用了平滑线。这就是问题,不是glEnable(GL_BLEND)
最佳答案
顾名思义,glHint
是对驱动程序的提示。没必要取得任何成就。 glHint
的实际功能取决于图形驱动程序。
另外,要启用LINE_SMOOTH
编码,您需要启用混合功能。您启用了GL_BLEND
吗?当您使用它时,也请选择您的glBlend功能!
例子:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
关于c++ - OpenGL:并非所有卡都支持GL_LINE_SMOOTH;甚至不会画线,除非,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2123980/