openGL载入纹理
我用C++写的载入纹理图片的函数,为什么执行到检查文件格式的时候就出错了呢?图片传入的是BMP格式的!
显示出来图片的都是白色的,代码如下:
HANDLE hFileHandle;
BITMAPINFO *pBitmapInfo = NULL;
unsigned long lInfoSize = 0;
unsigned long lBitSize = 0;
BYTE *pBits = NULL; // Bitmaps bits
BITMAPFILEHEADER bitmapHeader;
DWORD dwBytes;
// Open the Bitmap file
hFileHandle = CreateFile(szFileName,GENERIC_READ,FILE_SHARE_READ,
NULL,OPEN_EXISTING,FILE_FLAG_SEQUENTIAL_SCAN,NULL);
// Check for open failure (most likely file does not exist).
if(hFileHandle == INVALID_HANDLE_VALUE)//无效返回值
return NULL;
// File is Open. Read in bitmap header information
ReadFile(hFileHandle,&bitmapHeader,sizeof(BITMAPFILEHEADER),&dwBytes,NULL);
// Check for a couple of simple errors
if(dwBytes != sizeof(BITMAPFILEHEADER))
return FALSE;
// Check format of bitmap file 执行出错了
if(bitmapHeader.bfType != 'MB')
return FALSE;