我是否需要在 Maya 2017 中定义 OpenGL 上下文?

Do I need to define an OpenGL context in Maya 2017?

我正在将 Maya 2016 插件 (C++) 更新到 Maya 2017。此插件在标准 2.0 ViewPort 中显示 OpenGL 形状 (VBO),并且在 Maya 2016 和 OpenGL 2.1 中完美运行。 现在 Maya 2017 附带 OpenGL 4.1,在执行任何 opengl 操作之前,在 prepareForDraw 函数中执行的 glErrorString 给出无效操作(代码 1282)。

这似乎是因为没有可用的 OpenGL 上下文。我是否需要手动创建 OpenGL 上下文或让 Maya 函数为我创建它,或者我应该 link 一个现有的 Maya 上下文到 OpenGL?

如果需要,我可以分享一些代码,但不确定在这个阶段它是否相关。

这个问题来自我的旧定义:

#ifdef __APPLE__
#define glGenVertexArrays glGenVertexArraysAPPLE
#define glBindVertexArray glBindVertexArrayAPPLE
#define glDeleteVertexArrays glDeleteVertexArraysAPPLE
#endif

删除这些行使错误消失