资源简介
计算机图形学期末大作业,保龄球游戏,实现了碰撞检测、视界转换、场景切换等要求.最后给分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;/**< 用于将图像颜色从BGR变换到RGB */
/** 打开文件并检查错误 */
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个文件信息
相关资源
- 计算机图形学实验平移,缩放,旋转
- 浙江大学计算机图形学课件
- 计算机图形学:读入off、obj文件
- 计算机图形学第三版中心画圆法算法
- 计算机图形学源代码经典
- 山东大学计算机图形学实验二3D迷宫漫
- 《计算机图形学VC》源代码
- 天津大学-计算机图形学-复习资料.r
- 3D计算机图形学原书第三版.PDF
- 计算机图形学-基于3D图形开发技术1
- 计算机图形学清华 孙家广
- gpu zen: advanced rendering techniques 彩色高
- 计算机图形学OpenGL第三版.pdf
- 计算机图形学场景漫游
- 计算机图形学 第4版
- 交互式计算机图形学 基于OpenGL着色器
- 实时计算机图形学中文
- 计算机图形学PPT
- 3D游戏与计算机图形学中的数学方法
- 长安大学2017年计算机图形学试卷
- 计算机图形学(第三版带完整书签版
- 计算机图形学openGL(中英文第三版)
- 计算机图形学试卷
- 交互式计算机图形学 基于WEBGL的自顶
- 大自然的分形几何-Mandelbrot
- 3D游戏与计算机图形学中的数学方法
- 计算机图形学导论 james foley中文版本
- 计算机图形学 第二版 Peter Shirley 带书
- realtime redering中文版 实时计算机图形
- [计算机图形学].(美国)Donald.Hearn.清
评论
共有 条评论