opengl问题

写shader,用的glew,可是每次执行到glCreateShader()就内存错误引起崩溃,该如何解决啊... 写shader,用的glew,可是每次执行到glCreateShader()就内存错误引起崩溃,该如何解决啊 展开
 我来答
猎人呼啸
2013-07-31
知道答主
回答量:3
采纳率:0%
帮助的人:2.8万
展开全部
glCreateShader(GL_FRAGMENT_SHADER) Access violation 之类的内存出错

是因为你没有在OpenGL初始化完全就是用了

GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER);

GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);

之类的函数 所以会出现内存错误

一 、检查你有没有初始化的方法:在OpenGL初始化代码中加入:

if (!glewIsSupported("GL_VERSION_2_0 GL_VERSION_1_5 GL_ARB_multitexture GL_ARB_vertex_buffer_object")) {

fprintf(stderr, "Required OpenGL extensions missing.");

exit(-1);

}

二、比较重要的初始化代码是:

glewInit();

三、上面比较好的添加头问价的方法是:

#include <GL/glew.h>

#if defined (_WIN32)

#include <GL/wglew.h>

#endif

#if defined(__APPLE__) || defined(MACOSX)

#include <GLUT/glut.h>

#else

#include <GL/glut.h>

#endif

可参考http://www.opengl.org/sdk/docs/man3/xhtml/glCreateShader.xml
追问
这个我看到过,可是glewIsSupported()返回值为不支持怎么办呢,该怎么解决呢
宓秋章佳问香
2019-02-06 · TA获得超过3878个赞
知道小有建树答主
回答量:3148
采纳率:34%
帮助的人:221万
展开全部
最好最简单的不好说,现在动画文件主要是fbx和x文件,多数是fbx,你用OpenGL做时候要有读取相应动画文件的程序,只要有程序就简单,要是没有你就只能自己写读取程序了,然后就不简单了。置于模型的动作在maya或max里是很好做的,关键是OpenGL的读取文件的程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式