1 / 57
文档名称:

计算机图形学课程设计.docx

格式:docx   大小:2,523KB   页数:57页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机图形学课程设计.docx

上传人:2623466021 2021/9/28 文件大小:2.46 MB

下载得到文件列表

计算机图形学课程设计.docx

相关文档

文档介绍

文档介绍:《计算机图形学》课程设计
(2015----2016学年第二学期)

学 院
专业班级
学 号
学生姓名
老 师
编写日期:2016年xx月xx日
目 录
真实感游戏场景绘制 3
一 实验目的 3
二 实验内容 3
三 实验分工 3
四 理论基础 4
1 雾化模型 4
2 颜色模型 5
3 光照模型 6
4 纹理模型 6
五 系统描述 13
1 墙壁、地面、箱子 13
2 石柱、雪人 14
3 玻璃球 15
4 天空 17
六 心得体会 19
七 附录:程序源代码 19
真实感游戏场景绘制
【摘要】本次课程设计绘制了一个真实感的三维场景,并实现场景漫游。主要绘制了墙壁及地面、天空、石柱、箱子、玻璃球、雪人、雾等对象。以Visual Studio2012为平台用OpenGL基础知识实现此真实感场景的绘制。
实验目的
1.熟悉OpenGL基础函数,并了解其用法。
2.通过程序模拟真实感游戏场景,掌握图形综合展示效果,基于专业背景,结合实验课内容及课程设计要求,使用OpenGL绘制简单的3D真实感游戏场景,包括光栅化算法、多边形裁剪计算以及消隐算法在场景绘制中的应用。
实验内容和效果
光栅化算法、多边形裁剪计算以及消隐算法在场景绘制中的应用,其中真实感场景绘制包括颜色模型、纹理模型、雾化模型、运动模型以及环境光、漫反射、镜面反射等光照模型设置。
图1 游戏场景整体效果
实验分工
本次课程设计实验,小组成员齐心协力。首先从自己尝试编写没有成功到后来的各种搜集资料,寻找3D游戏场景的绘制代码,到最后小组成员分工解析代码并注释,做PPT,演讲PPT等,大家合作都很用心。这次的实验中我们小组每个成员在每一个环节都参及任务,因代码过多,也都参及到代码解析中。具体安排如下:
xxx
搜集资料,代码解析注释,做PPT,PPT演讲
xxx
搜集资料,代码解析并注释,做PPT,PPT演讲
xxx
搜集资料,代码解析注释,做PPT,PPT演讲
xxx
搜集资料,代码解析注释,做PPT,PPT演讲
理论基础
雾化模型
OpenGL中提供了完整的雾化接口,我们只需要选择合适的雾气的混合因子、密度、颜色、起始位置等。在OpenGL中,雾的工作模式有两种:线性模式和指数模式。这两种模式是根据雾的浓度变化来区分的。
在线性模式下,只需要提供一个距离视点的开始位置和结束位置。从开始位置到结束位置之间,雾的浓度越来越高,浓度的变化和距离成正比。
在指数模式下,雾的浓度随着距离的增加呈指数增长。这种模式通常用来用于烟雾、烟幕等效果。
glFogf(GL_FOG_START, )确定了雾的开始初离屏幕有多近。glFogf(GL_FOG_END, ),它告诉OpenGL雾能离开屏幕有多远
glHint(GL_FOG_HINT, GL_DONT_CARE)确定了雾的渲染方式,使用GL_DONT_CARE是因为并不关心建议值。这个项的不同值之间的区别:  
GK_DONT_CARE:让OPENGL自己来确定雾的渲染方式,每顶点或是每像素。
GL_NICEST:对每一像素进行雾的渲染,它看起来是极棒的。
GL_FASTEST:对每一顶点进行雾的渲染,它速度较快,但是不够美丽
我们的雾气设置如下:
修改函数里面的参数改变雾的颜色和浓度:

图2 改变颜色(蓝色)和浓度的雾气
颜色模型
OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式。不同的是,RGBA模式中,数据直接就代表了颜色;而颜色索引模式中,数据代表的是一个索引,要得到真正的颜色,还必须去查索引表。
RGBA颜色
RGBA模式中,每一个像素会保存以下数据:R值(红色分量)、G值(绿色分量)、B值(蓝色分量)和A值(alpha分量)。其中红、绿、蓝三种颜色相组合,就可以得到我们所需要的各种颜色,而alpha不直接影响颜色。
光照模型
光照模型包括许多因素,如物体的类型,物体相对光源及其他物体的位置以及场景中所设置的光源属性,物体的透明度,物体的表面光亮程度,甚至物体的各种表面纹理等。光照到物体表面时,物体对光会发生反射、透射、吸收、衍射、折射和干涉。通常观察不透明、不发光的物体,人眼所观察到的是从物体表面的得到的反射光,它是由场景中的光源