Opengl之纹理映射

要使用纹理对象储存纹理数据需要以下四步

1 生成位图文件名称

glGenTextures(1, &ID);

2 创建纹理对象,即将纹理对象绑定到纹理数据

glBindTexture(GL_TEXTURE_2D, m_Texture.ID);            

3 再次绑定纹理对象,即将其中的纹理映射到物体上

glBindTexture(GL_TEXTURE_2D, m_Texture.ID);          

4 删除纹理对象


(1)纹理资源载入

Bmp位图文件主要分为四部分

位图文件头 :文件类型、存放位置信息,文件大小,

位图信息头

颜色表

定义位图的字节阵列

.h文件

#define BITMAP_ID 0x4D42	/**< 位图文件的标志 */
class CBMPLoader  
{
public:
	CBMPLoader();
	~CBMPLoader();
	bool LoadBitmap(char *file); /**< 装载一个bmp文件 */
	void FreeImage();                /**< 释放图像数据 */

	unsigned int ID;                 /**< 生成纹理的ID号 */
	int imageWidth;                  /**< 图像宽度 */
	int imageHeight;                 /**< 图像高度 */
	unsigned char *image;            /**< 指向图像数据的指针 */
};

.cpp文件

/** 构造函数 */
CBMPLoader::CBMPLoader()
{
   /** 初始化成员值为0 */
	image = 0;
	imageWidth = 0;
	imageHeight = 0;
}

/** 析构函数 */
CBMPLoader::~CBMPLoader()
{
   FreeImage(); /**< 释放图像数据占据的内存 */
}

/** 装载一个位图文件 */
bool CBMPLoader::LoadBitmap(char *file)
{
	FILE *pF
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值