OpenGLES---加载纹理

{
	1:纹理介绍
	2:删除纹理
	3:两个概念
	4:添加代码
}
 
{1:纹理介绍
	把图像数据应用到几何图源时成为纹理或纹理贴图,纹理图像被加载后,具有和像素图像相同的排列和成分,但此时纹理单元和屏幕上的图像之间很少存在一对一的对应关系
	
	纹理(类型)
		一维纹理  sampler1D
		二维纹理  sampler2D(常用)
		三维纹理  sampler3D
		立体纹理  samplerCube
		阴影纹理
}

{2:删除纹理
	unsigned tId=0;
	glGenTextures(1,&tId);//生成纹理的索引
	...
	glDeleteTextures(1,&tId);
}

{3:两个概念
	一张纹理有10个层次[0,10] (512*512,256*256,128*128,...1*1 具体大小自己定) 可以全用也可以只用一个[0,10] 0最大,10最小
		glTexImage2D (GL_TEXTURE_2D,[0~10], format, width, height,0,format,GL_UNSIGNED_BYTE, pixels);

	一个面可以绑定32张纹理[GL_TEXTURE0~GL_TEXTURE031]
		unsigned t0=loadTexture("res/0.png");//加载纹理资源
		glActiveTexture(GL_TEXTURE0);//指定纹理级别(一张纹理不需要)
		glBindTexture(GL_TEXTURE_2D,t0);//绑定纹理
		glUniform1i(shader._tId0,0);//指定纹理阶段[0,31]

		unsigned t2=loadTexture("res/1.png");//加载纹理资源
		glActiveTexture(GL_TEXTURE1);//指定纹理级别(一张纹理不需要)
		glBindTexture(GL_TEXTURE_2D,t2);//绑定纹理
		glUniform1i(shader._tId1,1);//指定纹理阶段[0,31]
	...
}

 

4:添加代码

 

#include "freeImage/FreeImage.h"
	连接器->输入->附加依赖项 FreeImage.lib;

	{纹理加载步骤
		1:获取图片格式
		2:加载图片
		3:转化为rgb 24色或32色
		4:获取数据指针
		...插入OpenGL代码
		5:释放
	}

	GL_TEXTURE_MAG_FILTER  放大滤波(参数)
		GL_NEAREST
		GL_LINEAR

	GL_TEXTURE_MIN_FILTER  缩小滤波(参数)
		GL_NEAREST
		GL_LINEAR
		GL_NEAREST_MIPMAP_NEAREST
		GL_LINEAR_MIPMAP_NEAREST 
		GL_NEAREST_M
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值