資源簡介
計算機圖形學期末大作業,保齡球游戲,實現了碰撞檢測、視界轉換、場景切換等要求.最后給分4.7(滿分5)
代碼片段和文件信息
#include“CBMPLoader.h“??????????????/**
/**?構造函數?*/
CBMPLoader::CBMPLoader()
{
???/**?初始化成員值為0?*/
image?=?0;
imageWidth?=?0;
imageHeight?=?0;
}
/**?析構函數?*/
CBMPLoader::~CBMPLoader()
{
???FreeImage();?/**}
/**?裝載一個位圖文件?*/
bool?CBMPLoader::LoadBitmap(const?char?*file)
{
FILE?*pFile?=?0;?/**
/**?創建位圖文件信息和位圖文件頭結構?*/
BITMAPINFOHEADER?bitmapInfoHeader;
BITMAPFILEHEADER?header;
??
unsigned?char?textureColors?=?0;/**
???/**?打開文件并檢查錯誤?*/
pFile?=?fopen(file?“rb“);
if(pFile?==?0)?return?false;
/**?讀入位圖文件頭信息?*/?
fread(&header?sizeof(BITMAPFILEHEADER)?1?pFile);
/**?檢查該文件是否為位圖文件?*/
if(header.bfType?!=?BITMAP_ID)
???{
???fclose(pFile);?????????????/** ???return?false;
???}
/**?讀入位圖文件信息?*/
fread(&bitmapInfoHeader?sizeof(BITMAPINFOHEADER)?1?pFile);
/**?保存圖像的寬度和高度?*/
imageWidth?=?bitmapInfoHeader.biWidth;
????imageHeight?=?bitmapInfoHeader.biHeight;
????/**?確保讀取數據的大小?*/
???if(bitmapInfoHeader.biSizeImage?==?0)
??????bitmapInfoHeader.biSizeImage?=?bitmapInfoHeader.biWidth?*
??????bitmapInfoHeader.biHeight?*?3;
/**?將指針移到數據開始位置?*/
fseek(pFile?header.bfOffBits?SEEK_SET);
/**?分配內存?*/
image?=?new?unsigned?char[bitmapInfoHeader.biSizeImage];
/**?檢查內存分配是否成功?*/
if(!image)????????????????????????/** ???{
???delete[]?image;
???fclose(pFile);
???return?false;
???}
/**?讀取圖像數據?*/
fread(image?1?bitmapInfoHeader.biSizeImage?pFile);
/**?將圖像顏色數據格式進行交換由BGR轉換為RGB?*/
for(int?index?=?0;?index?(int)bitmapInfoHeader.biSizeImage;?index+=3)
???{
???textureColors?=?image[index];
???image[index]?=?image[index?+?2];
???image[index?+?2]?=?textureColors;
???}
??
fclose(pFile);???????/** return?true;?????????/**}
/**?釋放內存?*/
void?CBMPLoader::FreeImage()
{
???/**?釋放分配的內存?*/
???/*if(image)
??????{
?????????delete[]?image;
?????????image?=?0;
??????}*/
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????67072??2017-01-10?17:10??CGproject_final\.vs\environment\v14\.suo
?????文件?????489472??2017-01-10?17:10??CGproject_final\Debug\environment.exe
?????文件????1429908??2017-01-10?17:10??CGproject_final\Debug\environment.ilk
?????文件????1658880??2017-01-10?17:10??CGproject_final\Debug\environment.pdb
????..A..H.?????20480??2016-12-18?22:46??CGproject_final\environment\.vs\environment\v14\.suo
?????文件???????2244??2017-01-10?15:47??CGproject_final\environment\CBMPLoader.cpp
?????文件????????668??2017-01-10?17:10??CGproject_final\environment\CBMPLoader.h
?????文件????1280054??2017-01-09?19:24??CGproject_final\environment\data\archmodels81_039_001.bmp
?????文件????????146??2017-01-09?13:25??CGproject_final\environment\data\pingzi.mtl
?????文件????1332723??2017-01-06?17:50??CGproject_final\environment\data\pingzi.obj
?????文件?????172854??2017-01-09?02:02??CGproject_final\environment\data0\behind.bmp
?????文件????1281224??2017-01-09?11:13??CGproject_final\environment\data0\from_m.bmp
?????文件????2564624??2017-01-09?11:26??CGproject_final\environment\data0\front.bmp
?????文件?????649566??2017-01-09?02:19??CGproject_final\environment\data0\front1.bmp
?????文件?????649566??2017-01-09?02:27??CGproject_final\environment\data0\left.bmp
?????文件????3160162??2017-01-09?01:12??CGproject_final\environment\data0\left1.bmp
?????文件????6688694??2017-01-09?01:46??CGproject_final\environment\data0\left2.bmp
?????文件?????649566??2017-01-09?02:27??CGproject_final\environment\data0\right.bmp
?????文件????1080054??2017-01-09?02:44??CGproject_final\environment\data0\top.bmp
?????文件??????76854??2016-12-30?20:55??CGproject_final\environment\data1\behind.bmp
?????文件?????261954??2016-12-30?17:06??CGproject_final\environment\data1\front.bmp
?????文件?????261954??2016-12-30?17:06??CGproject_final\environment\data1\left.bmp
?????文件?????261954??2016-12-30?17:06??CGproject_final\environment\data1\right.bmp
?????文件????1120014??2016-12-30?22:16??CGproject_final\environment\data1\top.bmp
?????文件?????224586??2016-12-30?23:01??CGproject_final\environment\data2\behind.bmp
?????文件?????786486??2002-02-27?16:42??CGproject_final\environment\data2\front.bmp
?????文件?????786486??2002-02-27?16:42??CGproject_final\environment\data2\left.bmp
?????文件?????786486??2002-02-27?16:42??CGproject_final\environment\data2\right.bmp
?????文件?????786486??2003-11-17?13:29??CGproject_final\environment\data2\top.bmp
?????文件??????39040??2016-12-30?14:17??CGproject_final\environment\Debug\Camera.obj
............此處省略90個文件信息
評論
共有 條評論