2008-11-19 111 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/

相關問題