关于OpenGL,望高手指教

lb017 2005-07-06 12:06:35
为什么glGenTextures()在win32下可以用,但在MFC用下老是不成功,希望各位高手给予解答!!!

源程序是这样:
bool load(char *strFileName, GLuint &texture)
{
AUX_RGBImageRec *pImage = NULL;
FILE *pFile = NULL;

if(!strFileName)
return false;

// 以只读模式打开文件
if((pFile = fopen(strFileName, "rb")) == NULL)
{
// 如果文件无法打开,则显示错误信息
// MessageBox(g_hWnd, "Unable to load BMP File!", "Error", MB_OK);
return NULL;
}

// 装入位图
pImage = auxDIBImageLoad(strFileName);

// 确保位图数据已经装入
if(pImage == NULL)
return false;


// 生成纹理
glGenTextures(1, &texture);
// DWORD dwFlag= GetLastError();
//unsigned char s=glIsTexture(texture);




// 设置像素格式
glPixelStorei (GL_UNPACK_ALIGNMENT, 1);

// 捆绑纹理
glBindTexture(GL_TEXTURE_2D, texture);

gluBuild2DMipmaps(GL_TEXTURE_2D, 3, pImage->sizeX,
pImage->sizeY, GL_RGB, GL_UNSIGNED_BYTE, pImage->data);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

// 释放位图数据占据的内存资源
if (pImage)
{
if (pImage->data)
{
free(pImage->data);
}

free(pImage);
}

// 返回true
return true;
}
...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lb017 2005-07-07
  • 打赏
  • 举报
回复
你说得没错,已经解决了。谢谢!
请问怎么给你分阿?
lb017 2005-07-07
  • 打赏
  • 举报
回复
和这个应该没什么关系把,其他的函数都可以用
syy64 2005-07-07
  • 打赏
  • 举报
回复
在这页上面的管理里面给。
syy64 2005-07-06
  • 打赏
  • 举报
回复
你的gluMakecurrent函数在什么地方设啊

19,468

社区成员

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

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