gpt4 book ai didi

c++ - OpenGL:并非所有卡都支持 GL_LINE SMOOTH;甚至不会画线,除非

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:36:13 24 4
gpt4 key购买 nike

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

glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);

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

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

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

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

最佳答案

glHint 顾名思义就是对驱动程序的提示。它不需要取得任何成就。 glHint 的实际功能取决于图形驱动程序。

此外,要启用LINE_SMOOTHing,您需要启用混合。您是否启用了 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com