大多数 glVertexAttrib 方法(如
glVertexAttrib4fv()
)只是 Qt 中兼容性配置文件的一部分。核心类(例如QOpenGLFunctions_4_3_Core
)中唯一的方法是GLdouble和GLuint的方法,像QOpenGLFunctions_3_3_Core
这样的旧版本仅包含GLuint方法。这是什么原因呢?根据官方 OpenGL 参考 (https://www.opengl.org/sdk/docs/man4/),即使在最新版本中,所有这些都是核心配置文件的一部分。
编辑:这是 Qt 中的一个错误,应该在 Qt 5.4.0 中修复
听起来像是一个错误,所以请报告它。版本化的 GL 函数解析器(即
QOpenGLFunctions_X_Y_Profile
、not QOpenGLFunctions)是从 Khronos 发布的规范文件自动生成的,而这些文件又存在错误。
(而且,在我们说话的同时,生成器正在升级以使用新的 XML 文件并具有 4.4 功能)。
无论如何,必须调查它是生成器错误还是规格错误并修复。
我相信这是一个 Qt 错误 - 我已提出为 https://bugreports.qt.io/browse/QTBUG-129808