C++ 是否不推荐使用麸质*功能?

C++ 是否不推荐使用麸质*功能?,c++,opengl,glfw,glu,C++,Opengl,Glfw,Glu,我正在从事一个OpenGL项目,我正在寻找三角剖分/细分功能。我看到很多关于glussellator和相关glusss*功能的参考资料(例如) 我也在使用GLFW,它在以下方面反复重复: GLU已被弃用,不应在新代码中使用,但某些旧代码需要它 这是否包括细分功能?在OpenGL中查看其他库以创建复杂多边形是否明智?GLU是一个库。虽然它调用OpenGL,但实际上它不是OpenGL的一部分。OpenGL规范没有定义它。因此,该规范不能“弃用”或删除它 然而,GLU的大部分工作是通过从核心OpenG

我正在从事一个OpenGL项目,我正在寻找三角剖分/细分功能。我看到很多关于
glussellator
和相关
glusss*
功能的参考资料(例如)

我也在使用GLFW,它在以下方面反复重复:

GLU已被弃用,不应在新代码中使用,但某些旧代码需要它


这是否包括细分功能?在OpenGL中查看其他库以创建复杂多边形是否明智?

GLU是一个库。虽然它调用OpenGL,但实际上它不是OpenGL的一部分。OpenGL规范没有定义它。因此,该规范不能“弃用”或删除它


然而,GLU的大部分工作是通过从核心OpenGL中删除的OpenGL函数完成的。如果您试图使用核心OpenGL内容,则不应使用GLU。

下面是一些补充。这里应该注意的是,关于原始的
glusts*
实现,还有更现代的替代方案,它们在简单性和通用性方面遵循原始概念

一个值得注意的替代方案是
Libtess2
,它是原始libtess的重构版本

它使用不同的API,与OpenGL顶点数组API大致相似。然而,libtess2似乎“在数量级上”优于原始GLU参考实现

当前官方OpenGL 4.0细分原则要求GPU硬件明确兼容。(这很可能适用于所有DirectX 11和更高版本的兼容硬件。)有关当前OpenGL细分概念的更多信息,请参见:


你没有真正回答我的问题。从您所写的内容来看,我认为臀肌振荡器不被认为是核心OpenGL,因此,使用GLU来实现这一目的是可以的?GLFW语句似乎要宽泛得多:整个GLU库都被弃用了。因此我感到困惑。@NealKruis:我认为“如果您试图使用核心OpenGL的东西,就不应该使用GLU。”这一点非常清楚。臀肌振荡器不是,也从来不是OpenGL的核心;和所有GLU一样,它来自一个调用OpenGL的外部库。但它调用的是从核心OpenGL中删除的函数。所以你不能在核心OpenGL中使用GLU。我不明白这里的混淆是从哪里来的。对不起,我的意思是说“我想象臀肌振荡器不使用核心OpenGL。”我认识到OpenGL和GLU库之间的区别。因此,在我看来,你对我的问题的回答是:“是的,臀肌功能应该与GLU库的其他部分一起被视为不推荐使用。你应该在别处寻找细分/三角化库。”@NealKruis:人们对“不推荐使用”一词的定义一直是错误的,显然包括GLFW的人。“弃用”的意思是“仍然完全合法,但可能很快就会消失,所以停止使用它。”但这里的情况并非如此。GLU所依赖的OpenGL函数没有“弃用”;它们已从核心OpenGL中删除。它们不再是合法的OpenGL核心函数。所以称之为“弃用”是错误的。它在核心OpenGL环境中只是不起作用的。