glGenVertexArrays 未初始化 VAO 数组

glGenVertexArrays Not Initializing VAO array

我正在尝试使用 MFC 学习更新版本的 OpenGL,并且正在关注红皮书。

我对 SDI 项目进行了快速测试,其中:

  1. 在我继承的 CView 中 class 我创建了我的竞赛并开始了 glew。

  2. 添加了一个名为 "entity" 的 class,其中我写下了第一个示例的一部分,特别是顶点和缓冲区的初始化。

  3. 在我的 CView 的 OnDraw 中,我调用了 entity.Draw() 并得到了一些结果。

现在,我已经移动了继承的 CView class (COGLView) 和 DLL 中的实体,制作了一个测试项目,其中我的视图继承自 COGLView,并且我有一个实体的对象。 我深入我的实体构造函数来检查一些东西,我注意到:

glGenVertexArrays( NumVAOs, m_vVAOs );

对 m_vVAOs 没有任何作用,而在之前的测试项目中(在将内容移入 dll 之前)将值 m_vVAOs[0] 设置为 1。 这是正常的还是我做错了什么? 另外,请随时问我可能有用的代码部分。

附录:每个 gl* 函数都以代码 0 退出...(glCreateProgram、glCreateShader...)

正如我所猜测的那样,这是我的错:我在之前设置 OpenGL 上下文进行操作。