'gluErrorString' 在 OS X 10.9 中已弃用。为什么?

'gluErrorString' is deprecated in OS X 10.9. Why?

我指的是在 OSX 上编译时出现以下形式的错误:

'gluErrorString' is deprecated: first deprecated in OS X 10.9

粗略的 google+DDG 表示一堆 GLU 和 GLUT 函数也已弃用,但 Apple's reference 没有关于更改背后的原因或建议的继任者的信息.我没有使用 GLUT,只是想从 GL 获得人类可读的错误描述。

this question 和其他人的现有答案建议使用不同的框架,针对较早的 OSX 版本,或抑制警告,但我找不到适当解决方案的证据。

所以,发生了什么事?获取错误字符串的推荐方法是什么?

GLU 规范自 1998 年以来就没有更新过。它的大部分功能都依赖于长期弃用的 OpenGL 功能。如果您查看 opengl.org 上的手册页,最新的 GLU 文档与 OpenGL 2.1 man pages.

分组

基于此,对于 2.1 之后的 OpenGL 版本,考虑弃用 GLU 当然是有意义的。

至于gluErrorString()glGetError()返回的错误代码只有6种可能。为它们每个生成一个字符串只需要几行代码。