关于课程设计的说明

  1. 提交内容和时间节点

关于课程设计的说明

1. 选题

要求围绕的主题,设计三维环境下的应用,具体内容和形式不限,能够在主流浏览器环境中运行,或是单机本地运行均可。可使用各种交互设备或工具,具体依小组能力和选题而定。记住,量力而行,实事求是。

2. 人员

要求以小组形式完成,小组成员一般为五人,不超过六人,要求男女搭配。

3. 实现工具

不接受用3DS Max, Maya, Blender等直接渲染的动画或场景,可以使用这些工具建模,在自己的代码中渲染绘制。

可选择用Unity、Unreal等引擎完成作品,但需保证代码量。

实现语言不限,可使用C++, C#, Python, JavaScript, Java等,可使用现成的各种引擎开发,主要的游戏引擎见Game Engine List, 主要的WebGL引擎见WebGL Framework

极力推荐用Three.js

4. 课程设计要求包含功能

  1. 完整的用户界面,要求能够响应用户输入,并能实时输出
  2. 场景管理功能,能够建立或读取场景描述文件,定义场景中的相机、光源、几何体、材质等属性,场景中支持不少于三个物体
  3. 相机管理,能够根据相机参数,实现相机模型
  4. 光源与光照模型,支持点光源,可以添加一个或多个点光源,实现基本的Phong局部光照模型,并能实现正确实现阴影效果,选做实现光线追踪效果,如镜面效果
  5. 为场景对象添加纹理映射,选做凹凸映射、天空盒等效果
  6. 支持场景图像输出功能,将渲染场景保存成常见的图像格式,如png, jpg等

5. 提交形式

提交同样分为两部分:

其中材料包括三部分:

文档可以考虑用多种类型的编辑器,没有了MS Office和WPS,我们照样可以写出漂亮的图文混排的文档。可以是HTML,Markdown,TeX等。

6. 提交内容和时间节点

6.1 确定选题

第六周之前确定选题和形式,要求提交初步设计报告,要求说明内容如下:

  1. 选题和实现形式
  2. 小组成员及分工
  3. 主要功能描述
  4. 进度安排

6.2 详细设计

第十二周之前完成详细设计,提交详细设计报告,要求内容如下:

  1. 系统完整功能描述
  2. 各模块流程、结构具体实现,关键函数、变量等说明
  3. 所采用实现工具,开发环境,主要工具库等
  4. 目前进度

6.3 最终设计

最后一周之前完成最终设计,提交内容包括: