6

首先,这段代码的目的是什么?

glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);

我可以放在那里,GL_DONT_CARE但它不会画出我的线条,除非我使用glDisable(GL_LINE_SMOOTH)

所以我问是否有一些内置机制让它绘制线条,即使不支持平滑线(所以它会在没有抗锯齿的情况下绘制它们......)

或者我是否必须为它创建自己的函数并检查是否支持平滑线等......每次我想绘制平滑线时,我都需要调用这个函数来检查它是否支持?啊。

编辑:我的另一张卡上的线条是平滑的,在我的另一张卡上它们甚至不会出现,除非我禁用平滑线。所以这就是问题所在,而不是 glEnable(GL_BLEND)

4

1 回答 1

5

glHint顾名思义是对司机的提示。它不需要实现任何目标。的实际功能glHint取决于图形驱动程序。

此外,要启用LINE_SMOOTHing,您需要启用混合。你启用了GL_BLEND吗?当您使用它时,也可以选择您的 glBlend 功能!

例子:

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
于 2010-01-23T17:31:56.760 回答