论文部分内容阅读
目前,软件产业尤其是游戏产业、三维数字展示产业等数字媒体产业已逐渐兴起,并进入高速发展期,同时也出现了很多以数字媒体产业为主的中小型企业。但其中大多数的中小型企业自主研发能力薄弱,当购买高端软硬件时又同临着资金缺乏等众多问题。3D图形在线编辑工具就是为了解决中小型企业的这些问题,为他们提供公共专业技术支撑、软硬件工具共享使用等服务,并提高他们的企业生产力和产品竞争力。3D图形在线编辑工具以互联网为基础提供服务,采用交互性强、安全性高的C/S结构,以DirectX3D程序设计和开发技术为技术支持来实现。3D图形在线编辑工具的客户端为用户构造一个仿真的虚拟界面,所有的操作跟使用本机工具一样,感觉是透明的,并将用户的所有操作和命令构造成一种特殊的命令数据包,通过C/S结构发送给服务器。服务器端是实际执行运算的端点,负责着模型编辑、光照编辑、特效编辑、场景编辑、地形编辑等功能的实现。为了更好的适应企业的开发需求,3D图形在线编辑工具还提供了协同开发和多用户实时渲染的服务。首先,本文通过对C/S、B/S网络结构的对比,以及三维图形在线编辑工具的需求分析,来设计最佳的网络模型和功能模型。然后通过分析客户端应用程序菜单、鼠标、键盘命令的获取方式,设计并实现了将客户端命令封装成带标记的特殊数据包的命令构造技术。以图形学原理和DirectX3D程序设计技术为基础,依靠Direct9.0里的DXUT程序框架,在服务器端实现各种编辑器的开发。其中,以网格模型原理为基础实现模型编辑器的功能,以光照的计算模型、效果等原理实现光照编辑器的功能,以粒子系统、纹理贴图等原理实现特效编辑器中的几种特效,以随机生成高程数据、分形法等原理实现地形编辑器自动生成地形的功能。工具开发的重点在于场景编辑器的实现,我们采用BSP树原理为基础进行三维模型的组织管理,通过对BSP树的遍历实现实时渲染,为了保证在线的实时性,还采用了加速绘制技术提高渲染速度。通过分析菜单、鼠标、键盘的交互操作特点,在五个编辑器上实现了与用户间的交互操作功能通过分析DirectX3D中图形渲染的方法,在服务器端实现了将运算结果封装成带有显示列表的数据包,并将其传输给客户端后能正确的显示在虚拟界面上。本文的最后,依据数据库的事务控制原理和LOD技术实现多用户实时渲染复杂大场景的功能。