2013-03-08 154 views
0

众所周知,3D渲染的计算成本很高。3D渲染工具

而我想使用Apache Hadoop进行分布式3D渲染(渲染图像或视频)以缩短渲染时间。所以学习的Hadoop之后,我明白,我需要两两件事:

  • 数据,这将是可视化(可能是某些类型的文件,其中包含指令(像绘制矩形,设置坐标,设置颜色等) )
  • 某些工具/程序/实用程序呈现上述文件。我想从我的程序中调用它,并将它指向数据文件。 (这个程序有一个命令行API是很好的)。

但是我对3D渲染一无所知,所以我需要你的帮助来建议渲染3D图像/视频的工具(开源)。另外我对输入数据一无所知。所以如果你建议我渲染工具+文件格式,那将会很好。

我听说过使用Hadoop的.rib文件格式作为数据可视化,和rndr程序来呈现这些数据。所以我需要一些模拟。

请注意,我的目标是更深入地了解Hadoop和分布式计算,而不是3D渲染,所以请给我建议最简单的解决方案。

谢谢。

回答

0

KISS:gnuplot的

如果你真的只关心使用Hadoop,你唯一的渲染的要求是,它需要一个输入文件,使图像,因此您可以显示一个完整的动画,然后我建议gnuplot。它实际上是一个图形绘制程序,但它需要脚本并生成图像文件,对于您来说最为有用的是,您可以输入数学公式来绘制,而不是构建渲染的3D世界。

您只需准备n这些文件除了自启动以来的偏移值以外都是相同的,gnuplot会生成相应的帧。

这是最简单的选项,可以让您专注于Hadoop方面。要告诉你如何简单,这将产生一个框架3叶风扇旋转的动画:

set xrange[-1:1] 
set yrange[-1:1] 
set polar 
unset key 
unset border 
unset tics 
set terminal png size 1000,1000 
set output "frame_$FRAME.png" 
plot cos(3*t+$FRAME/5) 

约gnuplot的一个伟大的事情是,你在命令在交互式提示符下键入操纵图表,这些与您在脚本中输入的命令相同。所以一旦你有一些你感到满意的东西,你可以做save 'newscript.gpt'或复制你使用的命令。您可以通过在提示符下运行gnuplot newscript.gpt来重新创建图表。顺便说一下,模拟难以渲染的场景比实际构建它们要容易得多,所以只需在gnuplot脚本中放置一个睡眠命令以使其花费15秒或不管多长时间。

整个香蕉:搅拌机

搅拌机一个3D渲染系统。我相信它完全以您描述的方式用作服务器场中某些主流动画的渲染系统。它有相当的学习曲线,但我认为你应该能够拿起教程或其他预先存在的动画项目文件。从那里你需要弄清楚如何调用渲染引擎作为特定帧的命令。我只用搅拌机完成了静态渲染,所以我不能带你进一步。这将在视觉上给人印象深刻,但在学术上不会令人印象深刻,并且你会在这方面浪费更多时间。

我的选择

个人而言,我会去与gnuplot的。您可以使用splot命令而不是2d plot来制作3d图,虽然它不像您想象的那样是3d场景渲染,但它可以达到使用脚本制作图片的目的。你可以从上面的东西开始,直到你完成设置,然后引入更多的复杂性;从实现的角度来看,运行gnuplot脚本比运行同样需要数据文件的脚本更容易,但预先生成数据并使用gnuplot读取时,如果要执行命令+脚本+数据而不是命令+脚本。关键是逐步增加难度,在走路之前不会跑步。

如果你最终发现你有空余的时间,并改用搅拌机,那么这都是免费的,而且你还没有危害到你的hadoop项目。