OpenGL如何读取并使用两张纹理

OpenGL如何读取并使用两张纹理

1、读取一张纹理图片

		virtual unsigned    loadTexture(const char* fileName)
		{
			unsigned    textureId = 0;
			//1 获取图片格式
			FREE_IMAGE_FORMAT fifmt = FreeImage_GetFileType(fileName, 0);

			//2 加载图片
			FIBITMAP    *dib = FreeImage_Load(fifmt, fileName, 0);

			//3 转化为rgb 24色
			dib = FreeImage_ConvertTo32Bits(dib);


			//4 获取数据指针
			BYTE    *pixels = (BYTE*)FreeImage_GetBits(dib);

			int     width  = FreeImage_GetWidth(dib);
			int     height = FreeImage_GetHeight(dib);

			for (size_t i = 0; i < width * height * 4; i += 4)
			{
				BYTE temp = pixels[i];
				pixels[i] = pixels[i + 2];
				pixels[i + 2] = temp;
			}

			/**
			*   产生一个纹理Id,可以认为是纹理句柄,后面的操作将书用这个纹理id
			GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures)
			n:用来生成纹理的数量;textures:存储纹理索引的第一个元素指针
			*/
			glGenTextures(1, &textureId);

			/**
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值