文档详情

计算机图形学报告.doc

发布:2019-01-08约1.3万字共12页下载文档
文本预览下载声明
NORTH NORTH DATE \@ yyyy-M-d 2017-12-24 PAGE 10/ NUMPAGES 12 DATE \@ yyyy-M-d 2017-12-24 PAGE 11/ NUMPAGES 12 计算机图形学 (2017年秋季学期) 序号: 序号: 实 验 报 告 系别:计算机科学与技术 班级: 姓名: 学号: 实验名称:2-真实感图形绘制 总成绩: 评语: 日期: 《计算机图形学》实验报告 实验名称 真实感图形绘制 实验序号 2 实验日期 2017.12.13 实验人 一、实验目的、要求与环境 1.目的:通过实验,学生应掌握通过计算机程序进行真实感图形绘制的基本原理,特别是对三维显示对象进行纹理映射的基本方法,将理论和实际应用切实结合起来。 2.要求:对一个三维立方体进行旋转,对其6个不同的面进行6个不同图像的纹理映射,并进行投影变换与显示,分析增强后的视觉效果,提交实验报告。 3.环境:Windows 7操作系统 Microsoft Visual Studio 2005 OpenGL函数库 4. 自带位图文件(换成你自己的图像文件): 二、实验内容与步骤 1. 准备相关图像文件。 2. 进行立方体各面图像与旋转速度的大体设计。 3.在Windows 7 操作系统上,打开Microsoft Visual Studio 2005,编写相关程序,完成程序主体框架结构。 4.编写六面体显示相关的程序代码。 5.编写六面体旋转相关的程序代码。 6.编写深度检测相关的程序代码。 7. 编写纹理载入功能的相关程序代码。 8. 编写纹理参数定义功能的相关程序代码。 9. 编写纹理映射功能的相关程序代码。 10.对程序进行相关调试,修改程序,去除其中的BUG。 11. 观察纹理映射后的六面体的旋转显示,与预想的结果进行对比,修改相关程序参数。 12.截屏,保留实验结果,进行实验结果分析,并撰写实验报告。 三、相关背景知识 图像读取可能需要的数据结构: FILE * fp BITMAPFILEHEADER bmpFH; BITMAPINFOHEADER bmpIH; unsigned char temp; 文件打开的语句例句: fp = fopen( fileName, rb ); 读文件头的语句例句: fread( ( void * )bmpFH, sizeof( BITMAPFILEHEADER ), 1, fp ); 读信息头的语句例句: fread( ( void * )bmpIH, sizeof( BITMAPINFOHEADER ), 1, fp ); 文件指针移动的语句例句: fseek( fp, bmpFH.bfOffBits, SEEK_SET ); 读图像RGB数据的语句例句: fread( ( void * )pBitmapData, 1, bmpIH.biSizeImage, fp ); 启用二维纹理的语句例句: glEnable( GL_TEXTURE_2D ); 产生纹理索引的语句例句: glGenTextures( 6, texture_id ); 进行纹理绑定的语句例句: glBindTexture( GL_TEXTURE_2D, texture_id[0] ); 设置纹理放大的滤波参数的语句例句: glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); 设置纹理缩小的滤波参数的语句例句: glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); 设置纹理映射硬件加速的语句例句: glTexParameteri( GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); 生成纹理的语句例句:
显示全部
相似文档