纹理贴图的步骤
- 创建纹理对象,并为它指定一个纹理
- 确定纹理如何应用到每个像素上
- 启用纹理贴图功能
- 绘制场景,提供纹理坐标和几何图形坐
Tips:纹理坐标必须在RGBA模式下才能使用,在颜色索引模式下是未定义的行为
一、创建纹理对象,并为它指定一个纹理
static GLuint texName;
glGenTextures(1, &texName); //创建1个纹理对象,&texName指向纹理索引
glBindTexture(GL_TEXTURE_2D, texName);//绑定纹理:改变OpenGL状态,使得后续的纹理操作都对texName指向的2D纹理生效
二、确定纹理如何应用到每个像素上
1.OpenGL——纹理过滤函数glTexParameteri()
图象从纹理图象空间映射到帧缓冲图象空间(映射需要重新构造纹理图像,这样就会造成应用到多边形上的图像失真),这时就可用glTexParmeteri()函数来确定如何把纹理象素映射成像素.
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);