最近,我开始使用 C++ 处理 OpenGL。
我对声明Vertex 或改变当前Color 的方式感到恼火
glColor3f()
和 glVertex{2,3,4}{sdif}()
方法。
那么,为什么 OpenGL 不重载这些函数。
例如,输入glColor()
和glVertex()
会更好,它们会根据参数的数量来识别及其类型。
最终,代码看起来会好得多,也更容易阅读,并且结果相同。
我希望有充分的理由不重载类似的函数。
最佳答案
因为 OpenGL 最初设计时以 C 作为其 API 的主要语言,而 C 不支持函数重载。
然而,引用自维基百科:
Although the function definitions are superficially similar to those of the C programming language, they are language-independent.
OpenGL 总是有可能有一个支持函数重载和所有好东西的 C++ 接口(interface),尽管 AFAIK 没有关于它的任何规范,而且大部分只支持 C++ 包装器。
关于c++ - 为什么 OpenGL 不会重载它的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18841002/