这些技术的复杂性,会导致软件开发变得复杂,开发成本很高,五位核心项目成员第一天开会的讨论就是要解决这个问题。
“几何图形引擎是一个复杂的需求,现在进行三块的划分还是太笼统了,必须进行细分,不然这么多的人也参与不进来。”陈东风开门见山的说。
对于复杂的需求,架构设计通过对系统抽象分解,把复杂系统拆分,最终拆分成一个个小的功能,单个功能的开发难度,则是清晰的、简单的。其次,拆分功能可以帮助组织人员一起高效协作。对复杂系统的抽象拆分后,开发人员可以独自完成功能模块,最后通过约定好的接口协议集成。这样最终各个开发小组规模不大,既有效协作,又能各自保证战斗力。
陈东风想法一下子说出了在场人员的心理,前面几次开发软件的规模远远比不上现在的ad项目,大家心理都没有底,而陈东风的方法让他们豁然开朗。
“如果按照你说的组织人员和技术把系统和团队拆分,安排好拆分后的排列关系,让拆分后的部分能通过约定好的协议相互通信,共同实现最终的结果。那么该怎么用合适的编程语言和协议,把框架、技术组件、数据库等技术或者工具有效组织起来,一起实现需求目标呢?”杨光问出了关键问题。
陈东风也是有备而来,他是项目的发起人,对整个项目最为清晰,他不经勾勒好了几何图形引擎的框架,甚至还勾勒出了ad软件的框架。
“开发图形引擎的目的就是对底层二维、三维图形系统库的全部使用细节进行了抽象,并提供了基于现实世界对象的接口,那么在开发ad软件时候使用少量代码就能构建一个完整的三维图形,这是我们的目的。”陈东风先简单回顾了下图形引擎的目的。
接下来陈东风为大家展示了他设计的可扩展分层程序框架拥有高效率和高度可配置的资源管理器,采用高效的网格资料格式储存模型数据,并且具有清晰、整洁的设计以及全面的文档支持。
当然其中很多都是想法,能不能实现还要再说。不过他的可扩展分层框架还是很有特点的。该框架把一个根节点作为是所有几何图形的入口点,用于配置系统内的其它对象,必须最先创建和最后释放。渲染系统设置图形的渲染属性并执行渲染操作。图形管理器负责组织几何图形,生成并管理几何图形的各个参数。
图形组织原理是将图形划分成抽象的多个空间,这些空间还可以划分成多个子空间,每个空间由一个图形节点来管理。
将大量图形节点按照空间的划分层次组织成树状结构,从而完成对整个几何图形的有序组织。
除了杨光以外,另外三人都是半路出家,看了陈东风画出了这一系列框图,不免的有点目眩神离。因为陈东风根本就没有提到具体的接口协议以及具体的实施办法。
杨光倒是若有所思11