我正在开发一个OpenGL项目,我正在寻找三角测量/曲面细分功能。我看到很多对GLUtessellator
和相关gluTess*
函数的引用(例如here)。
我也在使用GLFW,它在its guides中一遍又一遍地重复:
GLU已被弃用,不应在新代码中使用,但某些遗留代码需要它。
这是否包括曲面细分功能?研究一个不同的库在OpenGL中创建复杂的多边形会不会是明智的?
答案 0 :(得分:1)
GLU是一个图书馆。虽然它进行OpenGL调用,但它实际上并不是OpenGL的一部分。它不是由OpenGL规范定义的。因此该规范不能“弃用”或删除它。
然而,GLU通过从核心OpenGL中删除的OpenGL函数完成了大部分工作。如果您尝试使用核心OpenGL内容,则不应使用GLU。
答案 1 :(得分:0)
这里有一点补充。此处应注意的是,在原始 gluTess*
实现方面还存在更现代的替代方案,它们在简单性和通用性方面遵循原始概念。
一个值得注意的替代方案是 Libtess2
,它是原始 libtess 的重构版本。
https://github.com/memononen/libtess2
它使用不同的 API,它与 OpenGL 顶点数组 API 大致相似。但是,libtess2 似乎“按数量级”优于原始 GLU 参考实现。 ;-)
当前官方的 OpenGL 4.0 Tessellation 原则需要明确兼容的 GPU 硬件。 (这很可能适用于所有 DirectX 11 和更新的兼容硬件。)可在此处找到有关当前 OpenGL 曲面细分概念的更多信息: