计算机图形学上机实验内容
发布时间:2024-10-23
发布时间:2024-10-23
计算机图形学上机实验内容
注:
(1)下文中所说课本指:交互式计算机图形学-基于OpenGL的自顶向下方法(第五版)
(2)实验指导仅供参考。
实验1: Graphics Performance
(参考课本第2章 图形学编程) 预计8 小时
实验目的:
熟悉OpenGL应用程序基本架构
了解图形系统的性能
实验内容:
1. 利用Glut库,编写一个OpenGL程序,实现以下功能:
仿照课本2.4.3的例子,绘制若干OpenGL基本体素(三角形、三角形带、四
边形、四边形带)构成的球体,注意球体绘制与球体划分的区别。
可以控制改变球的数量和球的体积,来改变基本体素的数量以及顶点的数
量。
可以通过改变glPolygonMode,切换是否填充所绘制的基本体素。
利用函数glutGet(GLUT_ELAPSED_TIME)(returns the time in milliseconds
since glutInit or the first invocation of the function)统计绘制时间
2. 仔细观察各种不同条件下的绘制时间,完成一份实验报告,报告中包含以下
问题的实验数据统计以及结论:
填充与非填充的情况下,每秒绘制三角形的数目
三角形大小的变化是否影响系统的性能
给每个顶点不同颜色的情况下,对于性能的影响
分别比较使用三角形、三角形带,以及四边形、四边形带作为基本体素的情
况下,性能有何差别
多个三角形或四边形的顶点同时置于一个glBegin 与 glEnd 之间的情况,
与每个glBegin 和 glEnd 间只存放一个三角形或四边形的顶点,两种情况下,性能上有何差异
当加入裁减体,一部分体素在裁减体外时,性能有何影响。
当顶点格式描述分别使用glVertex3f, glVertex3fv, glVertex3i等时,性能是否
有影响
计算机图形学上机实验内容
你的实验数据与市场上一款显卡的宣传数据差别如何
比较一下使用sin和cos函数计算顶点的坐标与使用查数据表的方法获取顶点
坐标两者之间的差异。
提示:实验过程中,应当关闭显卡设置中的等待垂直信号,否则对于高性能的显卡可能由于显卡怠工得到不准确的结果。
GLUT软件包安装说明:
从给定的FTP服务器上进入【参考资料】-->【GLUT官方英文手册及GLUT包下载】目录,下载glut-3.7.6-bin.zip,解压。其中,glut32.dll拷贝到C:\WINDOWS\system32下,glut32.lib拷贝到C:\Program Files\Microsoft Visual Studio\VC98\Lib下,glut.h拷贝到C:\Program Files\Microsoft Visual Studio\VC98\Include\GL下,安装完成。
实验2: 多边形世界
(参考课本第3章 输入与交互、第4章 几何对象和变换) 预计 8 小时
实验内容:
写一个可以交互的OpenGL应用程序,支持用户利用鼠标创建和删除2维多边形对象。基本功能包括:
对象创建:支持用户利用鼠标指定各个顶点位置,创建多边形。
对象删除: 支持用户选择一个多边形(与你的多边形保存的数据结构有关)并删除。
对象存储: 设计一种数据结构存储每个多边形的顶点与边,支持文件存盘,。
提示:由于删除操作需要多边形的选择机制,你可以在设计数据结构时,把可以帮助你完成选择的信息一起保存。
扩展功能可以包括(至少选择其一):
1. 支持用户选择多边形的颜色
2. 支持用户移动多边形
3. 支持用户改变多边形单个顶点的位置
计算机图形学上机实验内容
4. 支持3D多边形
5. 其他(需要通过指导老师认可)
完成一份实验报告,着重说明你的对象存储与对象选择方法,或者你所实现的一个扩展功能。
实验三: 三维迷宫漫游游戏
(参考课本第2章 图形学编程、第3章 输入与交互、第4章 几何对象与变换、第5章 观察、第10章 层次建模方法 )综合实验 预计 18小时
实验内容:
设计一个OpenGL程序,创建一个三维迷宫,支持替身通过一定交互手段在迷宫中漫游,基本功能包括:
迷宫应当至少包含10 * 10 个Cell,不能过于简单,下图给出一种示例。 读取给定的替身模型,加载到场景中。
键盘方向键控制替身转向与漫游。
有碰撞检测,替身不应当穿墙。
支持切换第一视角和第三视角进行观察。
迷宫场景中的墙、地面等应贴上纹理。
扩展功能包括(至少选择一个):
同时加入二维辅助地图,替身在三维迷宫探索的同时,在小地图中显示已经探
索的区域;
在俯视状态下,可以通过鼠标点选替身需要到达的目的地,通过寻径算法,控
制替身自动到达目的地;
迷宫地图交互编辑功能,例如,可以设计一个二维地图编辑器,根据用户的绘
制,拉伸得到三维迷宫场景;
其他相当难度,可以增加迷宫游戏趣味性的功能(需要通过指导老师认可)
完成一份实验报告,详细说明你所实现的基本功能的方法,并说明你所实现的一个扩展功能。
计算机图形学上机实验内容
下一篇:锅炉操作工安全考试试题