c++ - 为什么 OpenGL 不会重载它的函数?

标签 c++ opengl overloading

最近,我开始使用 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/

相关文章:

c# - 如何正确地覆盖平等?

java - Java 中使用 varargs 参数重载方法时的编译器错误

c++ - 生成唯一的 Windows 操作系统 ID

c++ - 压缩 .cpp 文件的缺点?

c++ - 检查下一个元素是否是 STL 列表中的最后一个元素

c++ - 在后台缓冲区上设置单个像素

c++ - 在自己的轴上旋转

c++ - 不正确的插值,opengl索引的vbo,顶点结构和glsl

delphi - 使用显卡(DirectX、OpenGL)代替 GDI 或 GR32 函数

perl - 无法在perl中重载构造函数