基于Web的应用程序的三维图形

时间:2008-11-19 11:57:27

标签: web-applications 3d kinematics

我要创建一个基于Web的应用程序,其中包括以下任务

  • 从数据库加载3D模型。
  • 显示3D模型。
  • 执行反向运动学计算,以生成模型从初始位置移动到最终位置的一系列步骤。
  • 实时显示动画。

该应用程序最初的目的是在Qt / OpenGL上使用基于PC的应用程序,但我们正在研究将其作为基于Web的应用程序实现是否可行。

我对基于Web的开发的了解仍然有限。

为此提出解决方案的推荐方法/技术是什么?

谢谢!

更新:平台独立解决方案首选。该应用程序需要在Mac和Windows机器上运行。

10 个答案:

答案 0 :(得分:4)

如果是webapp,您应该查看Papervision3D(http://papervision3d.org/)以获取基于Flash的方法(如果您希望它与平台无关,那就是这种方法。)

答案 1 :(得分:4)

Java applet也可能做你想做的事。

查看java 3d

答案 2 :(得分:3)

Google也是优秀但新的O3D:http://code.google.com/apis/o3d/

答案 3 :(得分:2)

webgl也是一个有趣的选择。没有插件,只需在浏览器中使用opengl(包括着色器)。

答案 4 :(得分:1)

嗯,你当然不能用HTML完成所有这些,所以选择你的插件技术就是一个问题。

我看到它的方式,你最好的选择是Flash,因为这是一个成熟的平台,有很多第三方扩展(例如http://www.flashsandy.org/)可以让你进行3D建模。

另一种选择是Silverlight,它将为您提供.NET / C#(而不是脚本)的强大功能。

两者都是跨平台和跨浏览器。

答案 5 :(得分:1)

Canvas和JavaScript可能会渲染它,具体取决于3D模型的复杂程度。见Canvas 3D example

还有Firefox Canvas 3D AddonCanvas 3d JS Library用于编写使用它的3D应用程序。

答案 6 :(得分:0)

有很多方法可以解决这个问题。我想到了一些:

  • 考虑将其作为ActiveX组件提供(最快,但仅限Win32)。
  • 考虑使用.NET(Silverlight)(Win32,OSX,* nix在可预见的未来通过Moonlight;仅限DirectX / Direct3D)
  • 考虑使用Java,它也可以访问OpenGL。
  • 考虑使用你遇到的任何中间地方......应该有几十个。

问题可能是可移植性。这里有两个注意事项:您的代码需要在任何地方运行,并且需要3D加速。这是一个问题,因为您无法确定它是否具有3D(当然,您可以查询您的上下文)。

因此,您可能还想考虑在CPU上进行栅格化和渲染(即使用MESA3D)。如果您不需要允许自由变换并想要设置动画,比如30帧并使用Mesa,您可能在典型硬件上的典型模型上渲染5fps,您需要6秒钟来计算整个场景。那就足够了。

答案 7 :(得分:0)

另一个Java选项,与JVM集成较少但基于OpenGl - lwjgl(我最喜欢的) 和 jogl

检查Jake2 webstart:http://bytonic.de/html/jake2_webstart.html

答案 8 :(得分:0)

Adob​​e Shockwave具有强大的3D建模功能。不幸的是,它目前支持不足,但Flash没有3D功能(papervision3d项目试图纠正它,YMMV)。

答案 9 :(得分:0)

我同意其他人认为Flash可能是你最好的选择。如果担心将来在苹果移动设备上运行,并且成本不是问题,请考虑使用Unity开发一些东西。它是一个插件(如Flash),但没有引起史蒂夫乔布斯的愤怒。

http://unity3d.com/gallery/developer-profiles/web-games/