- 16
- 0
- 约4.99千字
- 约 6页
- 2017-12-27 发布于河南
- 举报
程序设计OpenGL中不用AUX库来加载BMP图片
程序设计OpenGL中不用AUX库来加载BMP图片
程序设计OpenGL中不用AUX库来加载BMP图片作为纹理作者:吴旭 发表于 2010-6-25 113530 评论(0) 阅读(177) 大家在OpenGL中一般是用aux库的auxDIBImageLoad()函数来加载BMP格式的图片来作为纹理,这个确实是比较简单易用,但aux库的性能不佳,经常会出问题,稳定性较差。所以一般最好不要用aux库,可以用glut库,但glut库没有纹理加载函数。而有些程序是直接读取BMP格式来获得图像数据,从而生成纹理的,这种方法虽然很强大,但比较复杂,需要了解BMP的格式,对初学者比较困难。而下面的一段程序是用windows的API函数LoadImage()来实现这个功能,这种实现方法很简单,可以说比auxDIBImageLoad()函数复杂不了多少。
首先,加上头文件:
#include
这是因为后面的GL_BGR_EXT是定义在这个头文件里的,因为BMP格式是按Blue,Green,Red顺序储存图像数据的,这与OpenGL中正好相反。GL_BGR_EXT就是完成两者之间的转换的。
下面就是不用AUX库来加载BMP图片作为纹理的函数:
bool LoadTexture(LPTSTR szFileName, GLuint texid) Creates Textur
原创力文档

文档评论(0)