2010-11-21 48 views
1

我想在java applet中渲染一個非常簡單的3D場景。我可以自己完成所有的數學工作並將其渲染爲位圖,但由於我確定我不是歷史上第一個必須在屏幕上繪製幾個立方體的人,所以我想知道這通常是如何實現的。如何在Java applet中執行3D?

我讀過的每個地方都說過Java3D或LWJGL,但據我所知,它們依賴於平臺相關的代碼,需要與Java分開安裝,使它們都不適合用於圖形。

那麼這通常如何完成?

回答

1

This old page列出了3D Java小程序的演示/應用程序/庫,沒有硬件依賴關係。不幸的是,很少有開源的,其他的甚至都沒有下載。

我個人建議你使用Java 1.1 3D renderer by Ken Perlin進行試驗,它有源代碼可供免費用於學術目的。

編輯jGL是另一個Java 3D庫,沒有硬件依賴關係。它模仿OpenGL 1. * API。它是根據GNU通用公共許可證(LGPL)授權的。

0

我不是一個Java的傢伙,但2/3年前,當我在大學我有同樣的問題:) 我試過JOGL ...並在Java小白象我自己發現使用它配置和編寫一些東西太複雜了。

我使用Java3d,它的工作就像一個魅力,那是我當時唯一的問題,就是Java3d沒有與所有圖形卡一起工作。但幸運的是,它與我的univeristy電腦工作:)

+0

正如我所提到的,大多數人沒有安裝Java3d,所以這不是一個真正的選擇..除非有一種方法來自動安裝它? .jar是由Sun簽署的,畢竟... – 2010-11-21 03:00:15

+0

它不會爲我加載(ClassNotFound),但我覺得這會自動加載它? https://java3d.dev.java.net/applets/FourByFour。html – 2010-11-21 03:35:54

+0

BlueRaja:我認爲你可以使用java web start來自動部署java3d,但我不確定 – Jarek 2010-11-21 16:45:09

1

在插件2 JRE(1.6.0_10 +),您可以使用JWS擴展的嵌入式小程序。這很重要,因爲JWS可以更容易地確保正確的二進制文件位於運行時類路徑中。 AFAIU JOGL和Java 3D都爲其API提供JWS擴展。

如果您選擇這樣做,請讓applet添加可拖動參數,以便最終用戶可以選擇是否需要圍繞3D動畫包裝(大部分無用的)瀏覽器窗口。

+0

你能否解釋一下如何使用它來確保Java3D或JOGL安裝在客戶機上? – 2010-11-22 18:52:55

1

當我需要在applet中做一些3d渲染時,遇到了類似的問題。我的解決方案是簡單地從頭開始實現Java中的3d渲染庫。擔心的是這將是一個糟糕的表演者,但在I5處理器上,事實證明情況並非如此。額外的好處是我能夠以我一直想要完成圖形的方式編寫庫。然而,真正的優勢在於,無論是否需要在客戶端上安裝某些圖形庫,也不考慮任何圖形卡依賴性,它都可以運行。

我很樂意將這段代碼的一部分分享給任何想看它的人。