欢迎来到天天文库
浏览记录
ID:14653552
大小:58.50 KB
页数:3页
时间:2018-07-29
《directx3d资料专题5地形绘制基础》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、教案正文学院部门:计算机系任课教师:DirectX程序设计课程组授课题目专题1绘制地形授课方式课堂讲授(√);实践课( )教 学时 数7教学目标与要求知识目标:1.地形生成的原理,理解地形高度图;2.创建地形的几何信息;3.对地形进行纹理和光照处理;4.实现摄像机在地形中行走的效果;技能目标:掌握地形生成的相关算法,包括地形高度图,地形的几何信息,纹理和光照处理,以及摄像机的行走;能力目标:能对DirectX环境进行正确的配置,掌握高度图的使用,几何信息的生成方法,纹理和光照的处理及优化技术,实现摄
2、像机的在地形中的行走。教学方法、手段、媒介教学方法:案例驱动,讲练结合:通过“地形绘制”程序的实现过程讲解地形生成过程中所需要的各种算法;教学手段:使用PPT进行课堂讲解。教学媒介:板书、幻灯片。主要教学内容、重点、难点及时间分配教学内容:1.地形生成的原理,理解地形高度图,读取高度图中的高度信息;2.使用顶点缓存和索引缓存创建地形的几何信息;3.对地形进行纹理和光照处理;4.实现摄像机在地形中行走的效果;教学重点:1.地形生成的原理,理解地形高度图,读取高度图中的高度信息;2.使用顶点缓存和索引缓
3、存创建地形的几何信息;教学难点:1.对地形进行纹理和光照处理;2.实现摄像机在地形中行走的效果;教案正文【抛砖引玉】我们通常将游戏场面架设在起伏的山坡、绿草、沙滩、雪地、树木、阳光和雾等烘托出的自然环境中,这样的场景可增加游戏的逼真度和吸引力。大家玩过的游戏中是否有非常逼真的场景给你留下了深刻的印象的?10分钟【教学进程】1.抛砖引玉地形是怎么生成的?地形网格就是一系列三角形栅格(grid),但是方格中的每个顶点都被赋予了一个高度值(高度或海拔),这样该方格就可通过方格对应高度的平滑过渡来模拟自然地
4、形中山脉到山谷的变化。然后,通过纹理来表现沙滩、绿草如茵丘陵和雪山等。我们通过实现一个Terrain类来对生成地形的各个步骤进行实现。10分钟2.传经送宝我们使用高度图(heightmap)来描述地形中的丘陵和山谷。通常高度图以灰度图(grayscalemap)的形式保存起来。灰度图中的亮度越大,表示地形中某一点的海拔越高。地形的几何信息存储在我们创建的顶点缓存和索引缓存中,我们通过指定每行和每列的顶点数以及单元间距(cellspacing)来定义地形的尺寸。这些值将作为Terrian类的构造函数的
5、输入参数。Terrian的构造函数还传入了与地形相关的设备指针、标识存储高度图数据的文件的字符串,以及一个用于对高度图中各元素实施比例变换的高度比例因子(heightScale)。Terrain类的纹理映射方式是加载一个已经创建好的纹理文件,然后再应用该纹理数据。由于地形是静态的,且光源一般也不发生移动,所以我们可以预先对光照进行计算,这样节省了Direct3D实时照亮地形那部分计算时间。并且这样的计算无需给每个顶点存储顶点的法向量,所以可以节省大量内存。摄像机的实现我们已经在前面的专题中实现了,可
6、以直接使用封装好的摄像机类来使用摄像机。我们要让摄像机在地形中行走,不能穿地形到下面,或者悬浮到地形上面。最主要的就是要根据摄像机的位置来确定它的高度(y坐标)。140分钟3.照猫画虎我们在地形类(Terrain)中定义一个成员函数(readRawFile)用于读取高度图中的高度信息到一个向量里面,读取高度图的代码写在Terrain::readRawFile函数里面。顶点信息的计算写在Terrain::computeVertices函数中,索引信息的计算写在Terrain::computeIndic
7、es函数里面。加载纹理的实现写在Terrain::loadTexture中。为了给地形场景增强真实感,我们在场景中添加光照的成员函数Terrain::lightTerrain。Terrain::getHeight函数实现了返回摄像机在地形中的高度值信息,它以x和z坐标为参数,并返回摄像机应处在的高度(海拔)。以上实现的了Terrain类的方法实现了地形形成过程中的各种效果,关键代码见ppt。120分钟4.牛刀小试请正确配置编程环境,请参看专题120注意.h文件的包含问题,这个程序中除了我们设计的地形
8、类,我们还用到了摄像机类和用于计算帧率的一个类。复习有关向量计算的知识。1.学以致用实验5:地形生成5分钟【作业及思考题布置】在自己的游戏场景中制作地形在几何信息存储和纹理映射方面对生成的地形进行优化参考资料:《VisualC++/DirectX93D游戏开发导引》第14章,查找有关LOD算法的相关资料进行阅读10分钟
此文档下载收益归作者所有