glGenVertexArrays 未初始化 VAO 数组
glGenVertexArrays Not Initializing VAO array
我正在尝试使用 MFC 学习更新版本的 OpenGL,并且正在关注红皮书。
我对 SDI 项目进行了快速测试,其中:
在我继承的 CView 中 class 我创建了我的竞赛并开始了 glew。
添加了一个名为 "entity" 的 class,其中我写下了第一个示例的一部分,特别是顶点和缓冲区的初始化。
在我的 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 上下文进行操作。
我正在尝试使用 MFC 学习更新版本的 OpenGL,并且正在关注红皮书。
我对 SDI 项目进行了快速测试,其中:
在我继承的 CView 中 class 我创建了我的竞赛并开始了 glew。
添加了一个名为 "entity" 的 class,其中我写下了第一个示例的一部分,特别是顶点和缓冲区的初始化。
在我的 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 上下文进行操作。