Dandelion 1.1.1
A light-weight 3D builder for educational usage
|
Dandelion 是一个轻量级的跨平台三维实验框架,适合用于图形学课程教学。本文档介绍了 Dandelion 的开发思路、项目结构,并尽可能全面地列出类和函数参考。
当我们开设计算机图形学这门课程时,必然需要设计相应的实验。而实现一个“好看”(甚至有时只是“能看”)的图形应用,往往需要编写上千行的代码。为了在十分有限的课时约束下开展实验,最成熟的办法就是设计一个代码框架。我们对 Dandelion 的期望是:核心功能有限(但可扩展)、界面足够简单、尽可能不涉及和特定平台相关的细节。
目前 Dandelion 提供(或计划提供)的功能包括:
诸如 Blender / Maya / 3Ds MAX 这样的工业级软件拥有丰富而强大的功能,但功能丰富难免导致使用复杂。我们希望在课时很少(比如只有 32 课时)的情况下,同学可以在半小时内学会使用 Dandelion 的绝大部分功能,将精力集中在完成实验上。为此,Dandelion 将不会显式使用任何配置文件、不在 UI 界面上设计复杂的数据观察和调试功能、不设置两位数以上的快捷键。这些约定无疑会限制熟练工作者的创作自由和效率,但对于时间紧张的教学来说未必是坏事。
出于同样的理由,Dandelion 将不会实现实时渲染(至少需要掌握一门着色器语言)和脚本指令(需要额外理解脚本),因此它也不是一个小型的游戏引擎。另外还有一些功能因我们开发能力有限而目前不会实现,例如:
感谢卡内基-梅隆大学 15/462 课题组开源了 Scotty3D 实验框架,我们在很大程度上参考了它。
感谢 GAMES 开放的 GAMES 系列课程,我们参考了 GAMES 101 / 102 的课程、文档和实验框架。