三维渲染模块开发经验总结
来源:互联网 发布:centos syslog 位置 编辑:程序博客网 时间:2024/06/06 18:57
三维渲染模块开发经验总结
刚开始分析这个项目,认识主要问题在于渲染速度上。即能否流畅地渲染巨大的三维实体场景。前期,我认为这是这个项目成败的关键。于是想采用一些空间管理算法,加速渲染。后来,在OGRE中看到VBO代码,于是便试用一下。发现渲染速度很快,完全可以解决这个主要矛盾。前期写的空间管理的代码也没有用上。但这为以后留下了扩展空间。中期,发现任意三角形三角化是主要矛盾。这个问题花了一个多月的时间,问题比较难办,修复这个算法的bug比较困难。后期接入主程序后,发现了生成场景速度非常慢。打开一个1W根H型截面的杆件模型需要90秒,这是不能接受的。这个问题不解决,项目就失败了。后来改变了稍改变了造型方法,提升了数倍效率,变成了5秒。这个问题解决了。
根据以上经验,我认为,在项目没有接收用户测试之前,不能说项目已经开发成功。所以,做有较大技术风险的项目时,应该先开发出原型,实现主要功能,接收用户测试。开发原型的目的是找出决定项目成败的风险点,消除这些风险点,形成软件架构。这个阶段为原型期。
如果原型成功,就进入第二个开发阶段:架构稳定期。在上一个阶段,粗略地形成了软件架构,但还没有在此架构基础上扩展功能。所以,在这个阶段中,要在扩展功能的实践中修改完善架构。并重构代码,因为在上个阶段,为了快速开发原型,代码质量不高。总之,这个阶段要完成两件事(1)在扩展功能的实践中修改完善架构(2)重构代码。(3)编写自动测试用例。完成稳定架构的目标。
过了架构稳定期就进入了功能扩展期。这时工作就简单多了。因为有自动测试用例,所以可以放心大胆地重构优化代码了。在原型期后,重构代码是随时随地的事情。
用一句话概括这三个阶段:先探地基,而后打牢基础,再盖大楼。
以后就进入维护阶段了。
不要因为软件很大,就不做原型。某家公司,开发了某向产品三年,结果在第二年发现了主要矛盾,由于没有做原型。所以等到第三年时,才发现这个问题的严重性。结果开发这个产品失败了。
- 三维渲染模块开发经验总结
- 三维渲染必备常识
- 三维引擎渲染循环
- 无背景三维渲染技术
- 三维场景的渲染优化
- 三维渲染中的裁剪总汇
- 三维场景的渲染优化
- 开发经验总结
- 开发经验总结
- 开发经验总结
- 开发经验总结
- 开发经验总结
- 三维场景的渲染优化(一)
- 三维场景的渲染优化(二)
- 三维渲染引擎编辑器的研究
- 浅谈三维场景的渲染优化
- html5+webgl 三维街景的渲染
- Opengl读取及渲染Obj三维模型
- Tomcat源码的catalina中利用Digester解析conf/server.xml
- JS相关的积累
- NYOJ---150题Train Problem I
- 1033 incorrect information in file: './lxbd_db_00/t_longxibendi_info_00_1.frm'
- Gluster ABC
- 三维渲染模块开发经验总结
- python中private和public方法
- 读《代码大全2》笔记:使用变量的一般事项
- HTML & XML 转义字符
- The shift command
- Oracle中执行sql语句时报错:ora-01849 小时值必须介于1和12之间!
- 软件开发人员的作战手册 - 让程序员活的久一点
- 将中文字符串 由char * 转换为NSString *, 解决乱码问题.
- 对LWF的思考