/** *这个函数用来初始化地形的纹理 */ void Terrain_Map::initialTexture(){ memset(this->texture_image,0,sizeof(void *)*1); this->texture_image[0]=auxDIBImageLoadW( L"pic\\down.bmp" ); glGenTextures(1,&texture[0]); glBindTexture(GL_TEXTURE_2D,texture[0]); glTexImage2D(GL_TEXTURE_2D, 0,3, texture_image[0]->sizeX, texture_image[0]->sizeX, 0, GL_RGB, GL_UNSIGNED_BYTE, texture_image[0]->data); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,0x812F); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,0x812F); free(texture_image[0]->data); // 释放纹理图像占用的内存 free(texture_image[0]); // 释放图像结构 initialBlackAndWhiteTexture(); }
CEE3DINPROC_API CEE3D_RGBImageRec * _stdcall CeE3DDIBImageLoadW(LPCWSTR lpName) { return (CEE3D_RGBImageRec *)auxDIBImageLoadW(lpName); }