2008-11-19 126 views
3

3D图形我已经创建一个基于Web的应用程序,除其他外,包括以下任务一个基于Web的应用程序

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

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

我在基于Web的开发方面的知识仍然有限。

为了解决这个问题,推荐的方法/技术是什么?

谢谢!

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

回答

4

如果它是一个web应用程序,您应该查看Papervision3D(http://papervision3d.org/)以获得基于Flash的方法(如果您希望它相对平台无关)。

1

那么,你当然不能在HTML中做所有事情,所以这是选择你插件技术的问题。

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

另一种选择是Silverlight,它会给你.NET/C#(而不是脚本)的力量。

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

4

Java小程序可能会做你想做的。

看一看java 3d

0

有许多的方法来此。有些出现在我的脑海里:

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

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

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

+0

ActiveX是不仅仅Win32而且IE-只。 – pilsetnieks 2008-11-22 16:39:15

0

的Adobe冲击波具有强大的三维建模功能。不幸的是,它目前支持不足,但Flash没有3D功能(papervision3d项目试图纠正这种情况,YMMV)。

2

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

0

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

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

相关问题