OpenGL纹理贴图纠结的步骤

纠结的贴图问题终于搞的差不多明白了。Nehe的教程虽然容易上手,深究起来挺费事的还是。

glGenTextures(1, &texture[0]);

glBindTexture(GL_TEXTURE_2D, texture[0]);

glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);

解释:

glGenTextures负责告诉OpenGL需要建立几个贴图素材(1),texture[]是素材花名册,内容是各个素材编号;

glBindTexture负责规定编号素材的种类,例中是2D贴图;

glTexImage2D顺着来,对上述素材进行编辑,TextureImage[]是之前读取硬盘上位图的结构体,TextureImage[0]->sizeX、TextureImage[0]->sizeY,TextureImage[0]->data分别是位图长、宽以及内存位置指针;

glTexParameteri同样也是编辑素材,作用是设置当贴图被放大或者缩小时候采用的滤波方式,这个可以查文档;

以上工作可以在初始化的时候做,使用贴图时只需bind贴图编号就可以了:

glBindTexture(GL_TEXTURE_2D, texture[0]);

你可能感兴趣的:(OpenGL纹理贴图纠结的步骤)