为什么我在vc++下,纹理不能加载

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:15:07
AUX_RGBImageRec *LoadImage(char *Filename) // 加载一个位图
{
FILE *File = NULL; // 文件句柄

if (!Filename) // 确保文件名已经提供
{
return NULL; // 如果没有则返回NULL
}

File = fopen(Filename,"r"); // 检查文件是否存在

if (File) // 文件存在吗?
{
fclose(File); // 关闭File文件句柄
return auxDIBImageLoad(Filename); // 载入位图并返回其指针
}

return NULL; // 如果加载错误则返回NULL
}

BOOL LoadTextureGL(void) // 加载位图并转换为纹理
{
BOOL State = FALSE; // 状态指示

AUX_RGBImageRec *TextureImage[MAXTEXTURE]; // 为纹理开辟存储空间

memset(TextureImage, 0, sizeof(void *)*MAXTEXTURE); // 创建一个指向NULL的指针
//加载位图并检查是否出错,如果位图不存在则返回
if ((TextureImage[0] = LoadImage("draw/1.bmp"))
&&(TextureImage[1] = LoadImage("draw/2.bmp"))
&&(TextureImage[

&&(TextureImage[2] = LoadImage(\"draw/3.jpg\"))

好像是不支持 jpg格式的吧。把这句去掉看看,或者把图象改成 bmp格式的。

图象的大小也有关系的,不知道你的是不是256X256的正方形图象。