JAVAの基本は知っていますがグラフィック初心者です。
最近Swingのサンプルプログラムを作っています。過去にAWTは触ったことがあります。
表題の通り、JAVAによる3D描画についてご教授いただきたく、投稿します。
開発環境はeclipse+Visual Swing for Eclipse(プラグイン)、jdk6update18です。
ただし、elipseのプラグインには特にこだわりません。
開発目的は2つありまして、
・初心者(学生)にサンプルとして紹介する
・化学式の可視化のため、きちんとしたアプリケーションとして利用する
3Dグラフィックについて、簡単に調べたところ、とりあえず
・JAVA 3D API
・JAVA OpenGL
の2通りを見つけました。
ご回答は、これらの主な違い、それぞれの長所短所についてならなんでも歓迎です。
わがままを聞いていただけるなら、特に
・JOGLがSwingと使われているところはありましたが、JAVA 3D APIの方はどうか
・マルチプラットフォームの観点から、JOGLのアプリを作って配布する場合、簡単にできるか
(dllがあるとか・・・)
・導入として簡単、難しいが複雑な機能がある、といった違いがあるか
・技術としての完成度
などの点について、ご意見お持ちの方がいらっしゃればお願いいたします。
No.1ベストアンサー
- 回答日時:
Java3DとJava OpenGLとの違いは、
Java3D FAQ(http://javanews.jp/3d/j3faq.html)
が参考になると思います。
特に以下のQ&Aが参考になると思います。
・[Q] OpenGL Java binding と Java 3D はどう違うのでしょう?
どういうときにどちらを選べばいいのでしょう?
・[Q] Java 3D と OpenGL の関係は?
・JOGLがSwingと使われているところはありましたが、JAVA 3D APIの方はどうか
Java3DでもSwingと一緒に利用することは可能です。
Swingを用いたJava3D用材質エディタ(http://codezine.jp/article/detail/74)
の記事が参考になると思います。
・マルチプラットフォームの観点から、JOGLのアプリを作って配布する場合、簡単にできるか
(dllがあるとか・・・)
Java3Dでも、JOGLでも別途プラットフォームごとにDLLが必要になります。
・導入として簡単、難しいが複雑な機能がある、といった違いがあるか
JOGLはインストーラが無いため、手動でクラスパスを設定したり、実行パスにDLLを含めたりする必要があります。
ちょっと面倒です。
Java3Dはインストーラが存在し、その辺はインストーラがやってくれます。
windows環境で試してみたところJava3Dの方が若干楽だと思いました。
・技術としての完成度
対象としているレイヤが異なるので、
どちらが完成度が高いという単純な比較はできないと思います。
参考URL:http://javanews.jp/3d/j3faq.html
お礼が遅くなり、大変申し訳ありませんでした。
詳細なご回答ありがとうございます。
ご回答内容も紹介サイトも大変参考になりました。
JOGLはOpenGLのC(C++?)の情報がとてもたくさんあるので、比較的サンプルもつくりやすかったのですが、もう一方はなんとも基本的なことに「Java3D」というキーワードにたどりついておらず、公式サイトしか探せなかったため、その意味でも本当に助かりました。
Java3DはまだHPを読んだだけですが、JOGLより抽象的にまとまっている感じがしました。「シーン」の概念が最初敷居高いかなと(わかればJavaっぽくObject志向でできる?)。内部的にOpenGL使ってたりしたんですね。勉強になりました!
一方JOGLはOpenGLのコードのままなので、ちょっとわかりにくい気もしますが、情報が多いので調べれば大丈夫といったところでしょうか・・。ソースも手に入るし。ただし、1.1に比べJOGL2はまだ未調査です。
本当に助かりました。ありがとうございます。
ひきつづき、しばらくの間締め切らずにおきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseソース開発画面の行番号...
-
SJC-Pの5.Oと1.4について
-
プログラミング言語について
-
iアプリを自分で作りたい!家計...
-
C言語の練習
-
ログイン機能について
-
Javaでゲームコントローラーを...
-
Linux上でEclipseを使用してC++...
-
vba クリップボードクリアにつ...
-
リアルプレイヤーの古い(以前...
-
JSPファイルで生じるエラーをど...
-
ゲームの作り方を教えて!!
-
CrystalReportsのバージョン確...
-
VBA(えくせる)ってなんでメン...
-
IISワーカープロセスが原因でCP...
-
MSFormsとは何ですか?
-
VBScript 月を二桁で取得したい
-
XMLとUMLの相違点?
-
unzip32.dllの利用について(64b...
-
ログオフ中でもアプリケーショ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseソース開発画面の行番号...
-
PL/SQLを使った開発について質...
-
オブジェクト指向について
-
この便利な時代に開発環境すら...
-
高度なPS3ソフトの作る上で...
-
Tomcatのバージョン違い
-
JAVAで開発するシステムの...
-
JavaMailを使う前のTomcatの設定
-
「C#ができればJavaもできる」...
-
デザインパターンは必要か
-
MacでJavaを…
-
Webアプリケーションを開発する...
-
Mac、Javaのライブラリ追加場所...
-
PowerBuilderの知識が必要です。
-
実務の参考書で
-
サーバサイドJavaの「べか...
-
OS作りについて
-
javaで社内システム
-
iアプリ作ってくれる会社、個人...
-
いきなりMojaviを導入してみた...
おすすめ情報