游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1497|回复: 1

求高人帮忙修改3ds.cpp中的创建贴图函数

[复制链接]

5

主题

16

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2007-8-6 10:32:00 | 显示全部楼层 |阅读模式
我的3ds.cpp中的CreateTexture(UINT textureArray[], LPSTR strFileName, int textureID)函数,只能加入bmp格式的贴图 谁能给我改一下或者有个新的函数可以实现导入其他格式的贴图 ,具体函数是这样的:
void CLoad3DS::CreateTexture(UINT textureArray[], LPSTR strFileName, int textureID)
{ AUX_RGBImageRec *pBitmap = NULL;
if(!strFileName) return; // 如果无此文件,则直接返回
pBitmap = auxDIBImageLoad(strFileName); // 装入位图,并保存数据
if(pBitmap == NULL) exit(0); // 如果装入位图失败,则退出
// 生成纹理
glGenTextures(1, &textureArray[textureID]);
// 设置像素对齐格式
glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
glBindTexture(GL_TEXTURE_2D, textureArray[textureID]);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, pBitmap->sizeX, pBitmap->sizeY, GL_RGB, GL_UNSIGNED_BYTE, pBitmap->data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR_MIPMAP_LINEAR);
if (pBitmap) // 释放位图占用的资源
{ if (pBitmap->data) free(pBitmap->data);
free(pBitmap);
}
}

6

主题

40

帖子

40

积分

注册会员

Rank: 2

积分
40
发表于 2007-8-29 01:43:00 | 显示全部楼层

Re:求高人帮忙修改3ds.cpp中的创建贴图函数

请参考网址:http://www.owlei.com/DancingWind/ (周炜的NeHe中文教程-33课 TGA 文件的读取)
我想知道了TGA的加载方法,其它格式的可以依此类推,只是图像格式不同罢了,希望对你有用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 02:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表