opengl中多重纹理的问题

playStudy 2012-04-01 05:41:19
使用多重纹理调用 glActiveTexture方法总是报错

Unhandled exception at 0x00000000 in 3dsRender.exe: 0xC0000005: Access violation.
...全文
259 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
the_venus 2012-07-13
  • 打赏
  • 举报
回复
你的问题是这样的,如果你使用glext.h头文件的话,你要先验证GL_ARB_multitexture扩展是否支持
可以调用glGetString(GL_EXTENSIONS),获取扩展字符串,再判断GL_ARB_multitexture在不在里面,如果在:

PFNGLACTIVETEXTUREARBPROC glActiveTextureARB=(PFNGLACTIVETEXTUREARBPROC)wglGetProcAddress("glActiveTextureARB");
if(glActiveTextureARB==NULL)
{
//...出错处理
}


在以后的程序中调用glActiveTextureARB()就不会出错了。
你也可以判断你的显卡所支持的OpenGL版本

const GLUbyte *version=glGetString(GL_VERSION);
//如果你检测到的版本号不小于1.3.0,则可以写以下程序
PFNGLACTIVETEXTUREPROC glActiveTexture=(PFNGLACTIVETEXTUREPROC)wglGetProcAddress("glActiveTexture");
if(glActiveTexture==NULL)
{
//出错处理
}
//在后续程序中就直接调用
glActiveTexture(texture);



如果你使用glew库,则要先调用glewInit(),glActiveTexture函数指针就为空。。
如果你使用了glut库,也可以调用glutGetProcAddress("glActiveTexture");获取函数指针

方法多种多样,由你选择。。。
LZ记住了

taiwei137 2012-06-28
  • 打赏
  • 举报
回复
同问~~~~
playStudy 2012-04-02
  • 打赏
  • 举报
回复
有人知道吗?谢谢了!!!

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧