CosmoScout VR是德国航空航天中心(DLR)开发的一款模块化虚拟宇宙软件。它可以让您实时探索、分析和展示大量的行星数据集和大规模模拟数据。
该软件可以在Linux(gcc或clang)和Windows(msvc)上构建。几乎所有的依赖项都以git子模块的形式包含在内,请参阅文档以开始使用。
功能特性
以下是CosmoScout VR功能可能性的粗略概述。虽然这个列表远非完整,但它提供了当前功能集的良好概览。您还可以阅读更新日志以了解当前版本的新功能。此外,还有一篇DLR杂志上的有趣文章,以及几篇论文,它们提供了对CosmoScout VR背后理念的一些见解。
- 太阳系模拟
- 基于SPICE的天体和航天器定位
- 基于WebMapServices渲染高度详细的多层次细节行星(使用csp-lod-bodies)
- 渲染行星周围可配置的大气层(米氏散射和瑞利散射)(使用csp-atmospheres)
- 物理基础渲染3D卫星(使用csp-satellites)
- 渲染Tycho、Tycho2和Hipparcos星表(使用csp-stars)
- 基于SPICE渲染轨道和轨迹(使用csp-trajectories)
- 阴影渲染
- HDR渲染
- 灵活的用户界面
- 完全使用JavaScript编写,借助Chromium嵌入式框架
- 主UI可以在屏幕空间或世界空间中绘制
- 网页可以放置在行星表面
- 交互在VR和桌面环境下都可工作
- C++和JavaScript之间清晰的API
- 跨平台
- 运行在Linux上
- 运行在Windows上
- 运行在MacOS上
- 系统架构
- 基于插件 - 大部分功能在运行时加载
- 多实例网络同步
- 硬件设备支持 - CosmoScout VR基本上支持ViSTA和VRPN支持的所有设备。以下设备得到积极支持(或计划支持)。
- 鼠标
- 键盘
- HTC Vive
- ART追踪系统
- 3D-Connexion Space Navigator
- 多屏系统,如平铺显示器或CAVE
- 分布式渲染集群上的多屏系统
- 并排立体系统
- 四缓冲立体系统
- 互补色立体系统
- 游戏手柄,如Xbox控制器
入门指南
:warning: 警告: CosmoScout VR是一款仍在密集开发中的研究软件,每天都在变化。许多功能文档不完善,可能会无预警崩溃或出现其他意外情况。我们正在努力改善用户体验 - 请报告所有问题和建议!
每个版本发布时,都会通过Github Actions自动创建二进制包。
首次启动时,将从互联网下载一些示例数据集。**这需要一些时间!**加载屏幕上会显示操作进度。
如果二进制发布版本不适合您,或者您想测试最新功能,则需要自行编译CosmoScout VR。实际上这很简单,因为在**docs
**目录中有几个指南可以帮助您入门!
CosmoScout VR的插件
CosmoScout VR可以通过插件扩展。事实上,没有任何插件,CosmoScout VR只是一个黑暗空虚的宇宙。以下是包含在此存储库中的插件列表。还有其他额外的插件,列在下面。
核心插件 | 描述 | 截图 |
---|---|---|
csp-anchor-labels | 在每个天体锚点处绘制可点击的标签。激活时,用户自动移动到所选天体。可以调整标签的大小和重叠行为。 | |
csp-atmospheres | 在天体周围绘制大气层。支持多种大气模型。 | |
csp-custom-web-ui | 允许添加自定义的基于HTML的用户界面元素,可以作为侧边栏选项卡、浮动窗口或放置在自由空间中。 | |
csp-demo-node-editor | 展示如何使用csl-node-editor 插件库在CosmoScout VR中创建数据流图的示例。 | |
csp-fly-to-locations | 在侧边栏添加多个快速旅行目标。支持快速前往天体和这些天体上的特定地理位置。 | |
csp-lod-bodies | 绘制具有细节层次的行星和卫星。该插件支持1:1比例的整个行星可视化。数据通过Web地图服务(WMS)从互联网流式传输。使用此插件需要专用的MapServer。 | |
csp-measurement-tools | 提供多种地形测量工具。如测量距离、高度剖面、体积或面积。 | |
csp-minimap | 在用户界面中显示可配置的2D小地图。 | |
csp-recorder | 一个CosmoScout VR插件,允许基本的高质量视频捕捉。需要启用csp-web-api 。 | |
csp-rings | 在天体周围绘制简单的环。可以配置内外半径和纹理。 | |
csp-satellites | 基于SPICE数据在特定位置绘制GTLF模型。使用基于物理的渲染进行表面着色。 | |
csp-sharad | 渲染火星勘测轨道器获取的雷达数据集。SHARAD剖面在火星内部渲染,火星表面在剖面前变为半透明。 | |
csp-simple-bodies | 渲染简单的球形天体。这些天体被绘制成带有等矩形纹理的椭球体。 | |
csp-stars | 绘制从星表加载的3D星星。目前支持Tycho、Tycho2和Hipparcos星表。 | |
csp-timings | 使用CosmoScout VR内置的计时器查询在屏幕上绘制实时帧时间统计数据。该插件还可用于将记录的时间序列导出为CSV文件。 | |
csp-trajectories | 基于SPICE绘制天体和航天器的轨迹。可以配置颜色、长度、采样数量和参考框架。 | |
csp-web-api | 允许通过HTTP协议控制CosmoScout VR。还可以通过HTTP捕获屏幕截图。 | |
csp-wms-overlays | 在其他插件渲染的天体上叠加来自网络地图服务(WMS)的时间相关地图数据。 | |
附加插件 | 描述 | 截图 |
:---- | :----------------- | :---------- |
csp-gaussian-splatting | 该插件使用论文"3D高斯散射实时辐射场渲染"提供的代码来可视化辐射场。 | |
csp-user-study | 该插件用于IEEE航空航天论文"CosmoScout VR:基于SPICE的模块化3D太阳系"的用户研究。它可用于记录用户必须飞越的一系列检查点。 |
致谢
本README.md中的一些徽章来自shields.io。CosmoScout VR的文档也使用了来自simpleicons.org的图标。