关于VR(主要是虚拟城市场景)的一些想法及实现(可能会连载)
2006-04-17 05:33
555 查看
前言:这个东西也是我的本科毕业设计,原本想过段时间再写这些,看来时间有些不够了,无奈,只好匆匆下笔
以前一直是致力于游戏方面,认为室外场景主要有两种,一种是Terrain,一种是大块的StaticMesh。前者很难用于城市场景,后者对美工的要求很高,工作量很大,而且修改起来也很困难。对于VR,应该说是一点也不了解,感觉目前应用还不是特别广,只有在某些大的工程或科研中才会使用到,因为成本问题。
最近写的这个东西,用两个词概括一下就是Dynamic Mesh,它是由CtrlPoint和Brush这两种东西动态生成的。CtrlPoint就是三维坐标,用它们连成曲线,Brush是各种各样的画笔,封装了不同的算法和shader,然后沿着曲线生成Mesh,听起来很简单,实际上也很简单:)
动态Mesh的计算量很大么?应该说,不会大于skeleton mesh,而且,有相当一部分计算可以放到VS中做。对于一些CPU强劲的商务机,使用SoftVS不会影响性能,固定管线的像素处理也能够满足基本的应用。
DBuffer的效率究竟怎样呢?其实只要在Lock的时候保证上一桢已经画完,CPU就不会停下。一个直观的办法就是准备两组Buffer,画一组的时候填充另一组。
有些地方不用staticmesh是不行的,但staticmesh的instancing是个好东西,而且,这些instance的位置和方向也可以用Brush算。
全局四叉树中只保存了CtrlPoint和它们连成的曲线,每一桢只需要生成可见的Mesh,利用有限的内存,场景可以做得相当大,而且没有dynamic loading。在构造可见列表的时候粗略地按照从近到远的顺序,如果instance个数超过最大值,就画最近的n个,不会对画面造成太大影响。
这个东西目前的完成度还很低,而且它的可用性还是个未知数,不管怎么说,能把自己的想法实现出来是一件很高兴的事,如果你对这个东西感兴趣,请一定要让我知道^^!
以前一直是致力于游戏方面,认为室外场景主要有两种,一种是Terrain,一种是大块的StaticMesh。前者很难用于城市场景,后者对美工的要求很高,工作量很大,而且修改起来也很困难。对于VR,应该说是一点也不了解,感觉目前应用还不是特别广,只有在某些大的工程或科研中才会使用到,因为成本问题。
最近写的这个东西,用两个词概括一下就是Dynamic Mesh,它是由CtrlPoint和Brush这两种东西动态生成的。CtrlPoint就是三维坐标,用它们连成曲线,Brush是各种各样的画笔,封装了不同的算法和shader,然后沿着曲线生成Mesh,听起来很简单,实际上也很简单:)
动态Mesh的计算量很大么?应该说,不会大于skeleton mesh,而且,有相当一部分计算可以放到VS中做。对于一些CPU强劲的商务机,使用SoftVS不会影响性能,固定管线的像素处理也能够满足基本的应用。
DBuffer的效率究竟怎样呢?其实只要在Lock的时候保证上一桢已经画完,CPU就不会停下。一个直观的办法就是准备两组Buffer,画一组的时候填充另一组。
有些地方不用staticmesh是不行的,但staticmesh的instancing是个好东西,而且,这些instance的位置和方向也可以用Brush算。
全局四叉树中只保存了CtrlPoint和它们连成的曲线,每一桢只需要生成可见的Mesh,利用有限的内存,场景可以做得相当大,而且没有dynamic loading。在构造可见列表的时候粗略地按照从近到远的顺序,如果instance个数超过最大值,就画最近的n个,不会对画面造成太大影响。
这个东西目前的完成度还很低,而且它的可用性还是个未知数,不管怎么说,能把自己的想法实现出来是一件很高兴的事,如果你对这个东西感兴趣,请一定要让我知道^^!
相关文章推荐
- 关于VR(主要是虚拟城市场景)的一些想法及实现(可能会连载)
- 关于webgame实现MMORPG的一些想法
- 本篇主要介绍Runtime在开发中的一些使用场景,顺便讲解了下MJExtension的底层实现
- 关于Memory Pool的一些想法及实现
- 最近关于智能实现一些零碎的想法
- 关于产品定义、架构和设计实现的一些想法
- [转]关于Memory Pool的一些想法及实现
- [Axure]关于微信实现横纵向拖动效果的一些想法
- 关于如何实现C++跨平台的一些想法
- 关于"多级目录(分类)"的一些想法 ----- 实现方法
- 关于DCLP实现的单例模式的一些想法
- 关于最小化设计(尽早实现)的一些想法
- 关于Memory Pool的一些想法及实现
- 关于可持久化线段树的一些研究(链表实现)
- 关于linux中nat实现的一些思考
- 关于代码重构的一些想法
- 关于工作的一些想法
- 关于功能自动化测试的一些想法(持续更新ing)
- 【JAVA教程】关于增强visualvm的一些想法
- 关于游戏社交的一些想法