bonjour
y a pas moyen de charger des bitmaps avec la fonction :
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, BMP.bmWidth, BMP.bmHeight,
GL_RGB, GL_UNSIGNED_BYTE, pData);pourtant elle fonctionne à merveille avec SDL(SDL_Surface *image=IMG_Load(file); ) en jpeg comme en bitmap
elle permet de charger des textures de toutes dimensions.
le code:
bool classcene::LoadTextureFromRes(LPTSTR szFileName, HINSTANCE hInst, GLuint &texid)
{
HBITMAP hBMP;
BITMAP BMP;
unsigned char* pData;
long nData;
glGenTextures(1, &texid);
hBMP=(HBITMAP)LoadImage(hInst, szFileName, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION );
if (!hBMP)
return FALSE;
GetObject(hBMP, sizeof(BMP), &BMP);
pData=(unsigned char*)BMP.bmBits;
nData=BMP.bmWidth*BMP.bmHeight;
pData[nData]=0;
pData=inverseRGB(pData,nData,BMP.bmBitsPixel);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glBindTexture(GL_TEXTURE_2D, texid);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, BMP.bmWidth, BMP.bmHeight,
GL_RGB, GL_UNSIGNED_BYTE, pData);
DeleteObject(hBMP);
return TRUE;
}
merci d'avance