科学计算中的离线(可视化)渲染

时间:2012-11-12 22:21:11

标签: visualization hpc

我已经就科学计算提出了这个问题,并想知道这个论坛是否可以提供替代方案。

我需要模拟大量经历软体变形的药剂的运动。管理代理运动的过程很复杂,因此整个过程需要并行化。

模拟需要以3D形式显示。由于我将在许多不同的节点(MPI甚至MPI + GPGPU)上运行此模拟,我不希望可视化实时运行,而模拟应该在完成后输出视频文件。

(我不是要寻找真棒的AAA视频游戏质量图形,此外移动代码将占用足够的CPU时间,所以我不想通过添加重量级渲染代码来进一步降低应用程序速度)

我认为有三种方式可以制作这样的视频:

  • 将原始像素信息写入BMP并将它们拼接在一起 - 我已经在2D中完成了这项工作但我不知道这在3D中是如何工作的......
  • 使用OpenGL / Direct3D的离线模拟,渲染到缓冲区而不是屏幕。
  • 将某种遥测数据写入文件,指示每个时间间隔内每个业务代表的位置,变形等,然后在模拟完成后将其用作OpenGL / Direct3D程序的输入。

此问题必须先解决 - HPC中有大量可视化

总结:如何以离线方式轻松呈现视频(非常基本的图形而非玩具故事 - 我只需要3D blob)而不会大幅影响性能?

1 个答案:

答案 0 :(得分:1)

我的想法是以适当的文件格式将顶点的不同状态/位置存储为顶点动画的单帧。合适的格式是COLLADA,这是基于XML的3D场景的中间格式,因此可以使用通用XML库轻松解析和编写。 COLLADA还有专门的库,如 COLLADA DOM pycollada 。然后,包含顶点动画的COLLADA文件可以直接渲染到视频文件,使用您选择的渲染软件(3D Studio Max,Blender,Maya ...)