为什么OpenGL不会使其功能过载?

Mah*_*her 0 c++ opengl overloading

最近,我开始使用C++处理OpenGL.

我对通过声明Vertex或更改当前颜色的方式感到恼火

glColor3f()glVertex{2,3,4}{sdif}()方法.

那么,为什么OpenGL不会重载这些功能.

例如,输入更好glColor(),glVertex()并且它们将被参数数量及其类型识别.

最终,代码看起来会更好,更容易阅读,结果相同.

我希望有一个很好的理由不要重载类似的功能.

Mar*_*cia 5

因为OpenGL最初设计时使用C作为其API的主要语言,而C不支持函数重载.


但是,请引用维基百科:

虽然函数定义表面上与C编程语言类似,但它们与语言无关.

OpenGL总是有可能拥有一个支持函数重载的C++接口和所有好东西,虽然AFAIK上没有任何规范,并且大多数只支持C++包装器.