高速列控系统三维视景子系统设计与实现
行绘画的方法就是多重纹理。
一次性多重贴图混合是显卡等硬件对应才能够使用的功能,由于可以重叠多个纹理并同时绘画,所以其速度快,它可以将几次渲染合为一次来进行,在这个渲染过程中, 可以在不同的纹理单元分别放入第1次、第2次、第3次需要渲染的对象。当程序向屏幕绘图时,将这些渲染结果叠加起来,最终结果显示到屏幕。在硬件不对应的情况下,用软件进行多次重复纹理绘画的多重贴图混合。
3.快速渲染小物体
对于视景仿真系统来说,逼真度是非常重要的一环,因此,高度复杂的场景就不可缺少,树木和草覆盖在地面上能够起到很好的效果,这些树木和草通常被称作小物体(widget)。
实际上,用作widget的最有效的模型通常只使用少数几个双面多边形和单张的纹理。这种简单性使我们可以渲染比其他方法多得多的实例。但是由于树和草的数量比较大,现在的硬件可以渲染大量的三角形,但是只有当渲染的单位是有上千个顶点组成的块时才能得到最好的性能表现。这是因为大量的单个三角形从内存发送到显卡需要占用比较大的显存带宽,而且由于GPU的处理速度非常快,就会造成GPU在等待小物体的顶点数据的情形出现,严重影响显示效率。
一个高效的解决办法是,对场景中所有的小物体进行合理化分组,随着视点的变化渲染不同分组的小物体。二叉空间划分法(Binary Space Partitioning,BSP)是一种非常有效的分组方式,使得场景可以是非规则的形状,而不用花费额外的内存来存储空的节点。这种方法递归地将空间使用超平面划分为凸面体集合,引出了借助于称之为BSP树的树形数据结构的场景表示。二维(称为四元树,Quad Tree)和三维(k-d树)BSP树及其变体是计算机图形学中使用得十分重要的数据结构。最初,整个区域被定义为BSP树的根;之后,继续划分区域,一旦把凹形区域划分为两个凸形区域(在最好情况下)或凹多边形,命名这些区域,它们成为其父结点的子节点,父结点实际上代表了整个区域。
4.系统结构及仿真结果
OGRE是一个开源的三维引擎,这个类库隐藏了底层系统库OpenGL和Direct3D的所有细节,提供了一个基于世界对象和其它直观类的接口,极大的提高了开发效率。本系统采用了OGRE 1.7.3版本,开发平台采用Microsoft Visual Studio 2010.硬件平台采用的是Intel Xeon 2.5GHz CPU,3G RAM,WinFast GTX 460显示卡,操作系统采用Windows7 Professional.本系统是以郑州-西安高速客运专线为仿真对象构建的视景系统的显示效果,列车运行公里标、速度、进路信息以及信号机显示参数由高速列控实验室仿真平台通过以太网传输。视景输出为1280*1024像素,帧速率不低于30fps.
5.结语
基于高速列车视景仿真不同于飞行仿真的特点,系统需要能够很好的处理大范围地景的高逼真度、高精度建模,提供有效的数据结构组织、存储地景及其纹理数据,当列车运行的时候,根据视点的变化,利用多线程技术高效的索引及加载多分辨率的地形和纹理以及树和草等小物体,处理好海量数据加载和画面流畅度的矛盾,为高速列车运行控制系统实验室的视景系统的建设提供了有效地解决方案。
另外,系统在设计的时候把信号机和应答器的模型与数据分开处理,轨道道岔和进路能够单独控制,因此系统拥有良好的可移植性与扩展性,能够方便的把系统应用到其它高速列车线路,例如京沪、京哈等线路上,为多条线路、多种型号的高速列车单独甚至交叉运行实验提供良好的实验环境。
高速列控系统三维视景 相关文章:
- 电源设计小贴士 1:为您的电源选择正确的工作频率(12-25)
- 用于电压或电流调节的新调节器架构(07-19)
- 超低静态电流电源管理IC延长便携应用工作时间(04-14)
- 电源设计小贴士 2:驾驭噪声电源(01-01)
- 负载点降压稳压器及其稳定性检查方法(07-19)
- 电源设计小贴士 3:阻尼输入滤波器(第一部分)(01-16)