まずハードウエアとしては、以下のOSが動作する、Intel 系のCPUを搭載したIBM PC/AT 互換機があれば十分です。
SPARC CPUを搭載したSun SPARC Station とその互換機でも動作します。
ソフトウエアとしては、OpenGL 1.1、Java 2 (JDK 1.2)、Java 3D 1.1.1 などが必要です。
すべて無償ダウンロード可能です。
(Windows 版の Java 3DにはDirect Xで稼動するバージョンもあります。ただしこちらは本書執筆時点では正式版がまだありません。本書ではOpenGL版のJava 3Dを取り上げます)
ハードウエア | IBM PC/AT | Sun WorkStation | |||
---|---|---|---|---|---|
CPU | Intel x86 | SPARC | |||
OS | Linux (glibc2) | Windows 95/98 | NT4.0 | Solaris | |
グラフィックス | OpenGL 1.1 | × | ○ | ○ | ○ |
Mesa 3.x | ○ | × | × | × | |
Direct X 6.1 | × | ○ | × | × | |
JDK | JDK 1.2.x | ||||
Java 3D | Java 3D 1.1.1 |
Java 3Dは本書執筆時点では次のハードウエアで動作します。
OSR2.0よりも前のWindows 95には OpenGL 1.1 が含まれていないため、別途 OpenGL 1.1 が必要です。
Windows 95用のOpenGL 1.1は下記からダウンロードできます。
ftp://ftp.microsoft.com/Softlib/MSLFILES/OPENGL95.EXE
OSR2.0以降のWindows 95やWindows 98には最初から OpenGL 1.1 が含まれています。
Linux用のJava 3DはOpenGL互換のグラフィックスAPIであるMesa 3.xで動作します。
Mesaに関しては下記URLを参照してください。
LinuxへのMesa 3.xのインストールは後に詳しく解説します。
Java 3Dには、OpenGL ではなく DiretX で動作するバージョンもあります。
だたし本書執筆時点ではDirectX版はまだ正式版が公開されていません。本書はすべてOpenGL版を元に執筆されています。
Direct Xで動作するJava 3Dを入手するには、SunのJDC (Java Developer's Connection)に加入する必要があります。
加入は無料です。下記ページから参加申し込みができます。
http://developer.java.sun.com/
Java 3DはJava 2 (JDK 1.2)以降で動作します。
本書執筆時点でのJDKのバージョンは1.2.1です。
JDK 1.2.1は下記からダウンロードできます。
http://java.sun.com/products/jdk/1.2/
著者がダウンロードしたのは下記のファイル名とファイルサイズのものです。
jdk1_2_1-win.exe 20,514,654バイト
本書執筆時点でのJava 3D の最新バージョンは1.1.1です。
Java 3D 1.1.1は下記からダウンロードできます。
http://java.sun.com/products/java-media/3D/download.html
著者がダウンロードしたのは下記のファイル名とファイルサイズのものです。
java3d1_1_1-win-opengl-sdk.exe 3,858,307バイト
日本語版のJava 2 (JDK 1.2)のドキュメントは下記からダウンロードできます。
http://java.sun.com/products/jdk/1.2/ja/download-ja-docs.html
著者がダウンロードしたのは下記のファイル名とファイルサイズのものです。
jdk12-ja-doc.zip 17,450,509バイト
Java 3Dのドキュメントは下記からダウンロードできます。
http://java.sun.com/products/java-media/3D/download.html
著者がダウンロードしたのは下記のファイル名とファイルサイズのものです。
javad31_1_1-doc.zip 1,134,368バイト
Java 3D言語仕様は下記からダウンロードできます。
http://java.sun.com/products/java-media/3D/j3dguide.zip (HTML版 zipファイル)
著者がダウンロードしたのは以下のファイル名とファイルサイズのものです。
j3dguide.zip 490,169バイト
コンパイラーなどのほかに、Javaのソース・コードを編集するためのエディターが必要になります。
著者は主に秀丸エディタVer. 3.0と、Java開発用のマクロJMaker.macを使用しています。
著者はJava開発用のマクロが充実していること、軽くてカスタマイズが容易なエディターであることなどから秀丸エディタを使用しています。
秀丸エディタは下記からダウンロードできます。
JMaker.macは下記からダウンロードできます。
http://hidemaru.xaxon.co.jp/library/macro.html
著者はまだ使用していませんが、UNIX環境で定評のあるエディターEmacs、その多国語対応版であるMuleなどで動作するJava開発環境にJDE (Java Development Environment fo Emacs)があります。
UNIX版のMuleは、Linuxの配布パッケージにはほとんど収録されていると思います。
Windows版のMuleであるMule for Win32は下記からダウンロードできます。
http://www.vector.co.jp/soft/win95/writing/se021927.html
また、Mule for Win32から発展したエディターであるMeadow Win32は下記からダウンロードできます。
http://www.vector.co.jp/soft/win95/writing/se068653.html
JDEは下記からダウンロードできます。
Windows環境でJDEのインストール、使用方法については、下記Webページに情報があります。
OSR2.0より前のWidows 95にはOpenGL 1.1が付属しません。
(OSRとはOEM Releaseの略です。PCメーカー向けにOEM出荷されたバージョンを意味します)
では、OSR2.0より前か後かどのように見分けるのでしょうか。
Windows 95のタスクバーの[スタート]-[コントロール パネル]-[システム]を表示してください。
Windows 95のバージョン番号が4.00.950 BであればOSR2.0以降です。
バージョン番号4.00.950または4.00.950 aのものはOSR2.0以前のバージョンです。
繰り返しますが、OSR2.0以降のバージョンのWindows 95にはOpenGL 1.1が含まれているので、OpenGL 1.1のインストールは必要ありません。
以下のインストールは、バージョン番号4.00.950 a以前のWindows 95にのみ行ってください。
まず、opengl95.exeを作業用ディレクトリーで実行します。
ここでは、C:\tempをカレントディレクトリーにして実行しました。
[MS-DOSプロンプト]を開いて、以下のコマンドを入力してください。
C:\WINDOWS>cd \temp
C:\temp>opengl95.exe
C:\tempには下記のファイルが展開されます。
C:\temp>dir
ドライブ C: のボリュームラベルは WINDOWS95
ボリュームシリアル番号は xxxx-xxxx
ディレクトリは C:\temp
. | <DIR> | 99-04-12 | 16:12 | . | |
.. | <DIR> | 99-04-12 | 16:12 | .. | |
README | TXT | 4,788 | 96-08-09 | 12:03 | README.TXT |
GLU32 | DLL | 139,712 | 96-07-29 | 12:09 | GLU32.DLL |
OPENGL32 | DLL | 733,296 | 96-07-29 | 12:11 | OPENGL32.DLL |
GL | H | 68,392 | 96-05-22 | 18:52 | GL.H |
GLAUX | H | 12,024 | 96-02-09 | 9:42 | GLAUX.H |
GLU | H | 18,282 | 96-05-17 | 15:35 | GLU.H |
GLAUX | LIB | 1,093,958 | 96-07-16 | 15:41 | GLAUX.LIB |
GLU32 | LIB | 49,514 | 96-06-12 | 15:37 | GLU32.LIB |
OPENGL32 | LIB | 336,274 | 96-07-16 | 15:33 | OPENGL32.LIB |
9 個 | 2,456,240 | バイトのファイルがあります |
この中のREADME.TXTを良く読んでください。
展開されたファイルのうち、以下の2ファイルをWindowsのシステムディレクトリーにコピーします。
glu32.dll
opengl32.dll
Windows 95のディレクトリーがC:\WINDOWSである場合は以下のようになります。
C:\temp>copy opengl32.dll C:\WINDOWS\SYSTEM
C:\temp>copy glu32.dll C:\WINDOWS\SYSTEM
正常にコピーできたかどうか、dirコマンドで確認してみましょう。
C:\WINDOWS\SYSTEM>dir opengl32.dll
ドライブ C: のボリュームラベルは WINDOWS95OPENGL32 | DLL | 733,296 | 96-07-29 | 12:11 | OPENGL32.DLL |
1 個 | 733,296 | バイトのファイルがあります |
C:\WINDOWS\SYSTEM>dir glu32.dll
ドライブ C: のボリュームラベルは WINDOWS95GLU32 | DLL | 139,712 | 96-07-29 | 12:09 | GLU32.DLL |
1 個 | 139,712 | バイトのファイルがあります |
コピーが完了したらWindows 95を再起動してください。
最初に、下記のファイルがWindowsのシステムディレクトリーに正常にコピーされたことを確認してください。
C:\WINDOWS\SYSTEM>dir opengl32.dll
C:\WINDOWS\SYSTEM>dir glu32.dll
OpenGL 1.1の動作確認は、OpenGLを使用したプログラムを実行してみるのが良いでしょう。
ここでは、Microsoftから公開されているOpenGLのサンプルプログラムを使ってみます。
ftp://ftp.microsoft.com/Softlib/MSLFILES/OGLFIX.EXE
注意) oglfix.exeファイルの中には、古いバージョンのopengl32.dll, glu32.dllが含まれています。
Java 3DはOpenGL 1.1でなければ動作しないため、oglfix.exeの中のopengl32.dll, glu32.dllは使用しないでください。
ここでは安全のため、新たに作業用のディレクトリーを作ってoglfix.exeを展開します。
oglfix.exeはC:\downloadにダウンロードしたものとします。
C:\>md ogltemp
C:\>cd ogltemp
C:\ogltemp>c:\download\oglfix.exe
C:\ogltempには下記のファイルが展開されます。
C:\ogltemp>dir
ドライブ C: のボリュームラベルは WINDOWS95
ボリュームシリアル番号は xxxx-xxxx
ディレクトリは C:\ogltemp
. | <DIR> | 99-04-12 | 16:12 | . | |
.. | <DIR> | 99-04-12 | 16:12 | .. | |
README | TXT | 3,578 | 96-01-30 | 13:09 | README.TXT |
GLU32 | DLL | 156,128 | 95-08-23 | 13:02 | GLU32.DLL |
OPENGL32 | DLL | 558,464 | 95-12-13 | 23:18 | OPENGL32.DLL |
GL | H | 58,061 | 95-04-17 | 13:36 | GL.H |
GLAUX | H | 11,944 | 95-04-17 | 13:36 | GLAUX.H |
GLU | H | 16,325 | 95-04-26 | 10:16 | GLU.H |
GLAUX | LIB | 1,254,160 | 95-08-14 | 16:55 | GLAUX.LIB |
GLU32 | LIB | 50,188 | 95-08-23 | 13:02 | GLU32.LIB |
OPENGL32 | LIB | 298,996 | 95-12-13 | 23:15 | OPENGL32.LIB |
MGA | DRV | 112,896 | 95-08-30 | 16:57 | MGA.DRV |
RXDDI | DLL | 46,080 | 95-08-30 | 14:19 | RXDDI.DLL |
SS3DFO | SCR | 100,192 | 95-08-23 | 13:17 | SS3DFO.SCR |
SSFLWBOX | SCR | 61,744 | 95-08-23 | 13:17 | SSFLWBOX.SCR |
SSPIPES | SCR | 84,672 | 95-08-23 | 13:17 | SSPIPES.SCR |
SSTEXT3D | SCR | 96,736 | 95-08-23 | 13:17 | SSTEXT3D.SCR |
15 個 | 2,910,164 | バイトのファイルがあります | |||
このうち拡張子SCRのものは、Windows用の3Dスクリーン・セーバーです。
このスクリーン・セーバーをWindowsディレクトリーにコピーすると、スクリーンセーバーとして使用できます。
C:\ogltemp>copy *.src c:\windows
[スタート]-[設定]-[コントロールパネル]-[画面]-[スクリーンセーバー]の[スクリーンセーバー]リストから、3Dスクリーン・セーバーを選んでみてください。
3Dスクリーンセーバーが実行できればOpenGLは正常に動作しています。
OpenGLについては、OpenGL日本語FAQをぜひ御覧ください。
http://tech.webcity.ne.jp/~andoh/opengl/
jdk1_2_1-win.exeをダブルクリックして実行してください。
JDK 1.2のセットアップが起動します。
JDKのインストール先ディレクトリーは、デフォルト設定ではC:\jdk1.2.1です。
注意: ディレクトリー名にスペースを含むディレクトリーにインストールする場合は注意が必要です。
インストール後に環境変数PATHにJDKのbinディレクトリーを含める必要がありますが、このときパス名にスペースが含まれているとjava, javacなどのJavaコマンドが起動できなくなります。
デフォルトのC:\jdk1.2.1のままにすることをお奨めします。
JDKのインストールが終了すると、続いてJRE (Java Runtime Environment)のインストールが始まります。
JREをインストールするとJava Plug-inもインストールされます。
Java Plug-inは、Java 3DをNetscapeやInternet Explorerなどのブラウザーで実行させるときに必要になります。
これでJDK 1.2.1のインストールが終了しました。
JDK 1.2.1を動かすには、JDKのbinディレクトリーを環境変数PATHに含める必要があります。
C:\>set PATH=C:\jdk1.2.1\bin;%PATH%
Windows NT 4.0の場合、JDK 1.2.xのインストーラーはjava.exe, javaw.exeをC:\WINNT\SYSTEM32にインストールします。
(どうしてこういう仕様になっているのかは不明です)
このとき、Windows NT 4.0ではC:\WINNT\SYSTEM32が環境変数PATHの先頭に含まれてしまうため、Java 3Dの実行に不都合が生じます。
Windows NTのコマンド・プロンプトでjava.exe, javaw.exeを起動したとき、C:\WINNT\SYSTEM32ディレクトリー配下のjava.exe, javaw.exeが実行されます。
C:\WINNT\SYSTEM32のjava.exe, javaw.exeはC:\jdk1.2.1\JRE\lib\extディレクトリー配下にインストールされたJava 3Dのライブラリーをロードできず、例外が発生してJava 3Dが実行できなくなります。
これを回避するには以下の2とおりの方法があります。
最初の方法が簡単です。
PATHの変更で他のソフトに影響が出る場合は2番目の方法で回避してください。
java3d1_1_1-win-opengl-sdk.exeをダブルクリックして、Java 3D 1.1.1のインストールを開始してください。
JDK 1.2.1がインストールされているとき、Java 3D 1.1.1のインストールディレクトリーには注意が必要です。
インストーラーのデフォルトのインストール先ディレクトリーは、C:\jdk1.2になっています。
JDK 1.2.1のインストール先ディレクトリーはC:\jdk1.2.1なので、Java 3Dのインストール先もC:\jdk1.2.1に変更する必要があります。
[Browse..]ボタンを押してください。[Choose Folder]ダイアログが表示されます。
[Choose Folder]ダイアログでC:\jdk1.2.1を選び、[OK]ボタンを押してください。
これでJava 3D 1.1.1 (OpenGL版)のインストールは終了しました。
Java 3D 1.1.1 (OpenGL版)のインストールファイルの中から、いくつかの主要なファイルを以下に示します。
C:\jdk1.2.1 | |||||
│ | java3d-utils-src.jar | // com.sun.j3d パッケージのソース | |||
└─ | jre | ||||
├─ | bin | ||||
│ | J3D.dll | // OpenGL版 Java 3D DLL | |||
│ | j3daudio.dll | // Java 3D サウンドDLL | |||
└─ | lib | ||||
└─ | ext | ||||
vecmath.jar | // javax.vecmath パッケージのアーカイブファイル | ||||
j3dcore.jar | // javax.media.j3d パッケージのアーカイブファイル | ||||
j3daudio.jar | // com.sun.j3d.audio パッケージのアーカイブファイル | ||||
j3dutils.jar | // com.sun.j3d パッケージのアーカイブファイル |
C:\jdk1.2.1ディレクトリーに、com.sun.j3dパッケージ・ソースのJARファイルがインストールされます。
本書執筆時点では、Java 3Dのすべてのソースコードはまだ公開されていません。
ですが、Java 3Dのユーティリティークラスであるcom.sun.j3dパッケージのソースは公開されています。
有用なソースですのでぜひ活用してください。
C:\jdk1.2.1\binディレクトリーに、Java 3Dの2つのDLLがインストールされます。
J3D.dllはOpenGLに対応したJava 3Dの描画用DLLです。
j3daudio.dllはJava 3DのサウンドDLLです。
これらのDLLは、OS依存のグラフィックAPI、サウンドAPIをJavaから呼び出すために必要なものです。
C:\jdk1.2.1\jre\lib\extディレクトリーに、Java 3Dクラスのアーカイブファイルがインストールされます。
Java 2からJava拡張機能(Java Extention Mechanism)仕様が採用されました。
Java機能拡張のひとつである「インストール機能拡張」と呼ばれる仕組みは、jre/lib/extにJARファイルを置いておけば、CLASSPATHで明示的に位置を指定しなくてもクラスがロードされるというものです。
Java 3Dも、この「インストール機能拡張」の仕組みを使って、Java 3Dのクラスが入ったJARファイルをjre/lib/extディレクトリーにインストールしています。
Java 3Dのコンパイル時や実行時にClassNotFoundExceptionが発生する場合、jre/lib/extディレクトリーにJava 3DのJARファイルが含まれているかどうか確かめてください。
著者はJava 2のドキュメントを、JDK 1.2.1のインストールディレクトリーに展開しました。
C:\jdk1.2.1>jar xvf jdk12-ja-doc.zip
上記のコマンドを実行すると、以下のようなディレクトリー構成で展開されます。
C:\ | ||||||||||||
└─ | jdk1.2.1 | |||||||||||
└─ | docs | |||||||||||
└─ | ja | |||||||||||
├─ | images | |||||||||||
├─ | guide | |||||||||||
│ | ├─ | 2d | ||||||||||
│ | │ | ├─ | api-jpeg | |||||||||
│ | │ | │ | ├─ | com | ||||||||
│ | │ | │ | │ | └─ | sun | |||||||
│ | │ | │ | │ | └─ | image | |||||||
│ | │ | │ | │ | └─ | codec | |||||||
│ | │ | │ | │ | └─ | jpeg | |||||||
│ | │ | │ | │ | └─ | class-use | |||||||
│ | │ | │ | └─ | index-files | ||||||||
│ | │ | ├─ | samples | |||||||||
│ | │ | └─ | spec | |||||||||
│ | ├─ | access | ||||||||||
│ | ├─ | awt | ||||||||||
│ | │ | ├─ | demos | |||||||||
│ | │ | │ | ├─ | eventmodel | ||||||||
│ | │ | │ | │ | ├─ | actual | |||||||
│ | │ | │ | │ | └─ | alternative | |||||||
│ | │ | │ | ├─ | lightweight | ||||||||
│ | │ | │ | │ | ├─ | OpenlookButtons | |||||||
│ | │ | │ | │ | │ | ├─ | actual | ||||||
│ | │ | │ | │ | │ | │ | └─ | images | |||||
│ | │ | │ | │ | │ | └─ | alternative | ||||||
│ | │ | │ | │ | ├─ | RoundButtons | |||||||
│ | │ | │ | │ | │ | ├─ | actual | ||||||
│ | │ | │ | │ | │ | │ | └─ | images | |||||
│ | │ | │ | │ | │ | └─ | alternative | ||||||
│ | │ | │ | │ | ├─ | Spinner | |||||||
│ | │ | │ | │ | │ | ├─ | actual | ||||||
│ | │ | │ | │ | │ | │ | └─ | images | |||||
│ | │ | │ | │ | │ | └─ | alternative | ||||||
│ | │ | │ | │ | ├─ | Gauge | |||||||
│ | │ | │ | │ | │ | ├─ | actual | ||||||
│ | │ | │ | │ | │ | │ | └─ | images | |||||
│ | │ | │ | │ | │ | └─ | alternative | ||||||
│ | │ | │ | │ | └─ | GaugeSwing | |||||||
│ | │ | │ | │ | └─ | image | |||||||
│ | │ | │ | └─ | symboltest | ||||||||
│ | │ | │ | ├─ | actual | ||||||||
│ | │ | │ | └─ | alternative | ||||||||
│ | │ | └─ | designspec | |||||||||
│ | │ | ├─ | graphics | |||||||||
│ | │ | └─ | images | |||||||||
│ | ├─ | beans | ||||||||||
│ | ├─ | collections | ||||||||||
│ | ├─ | dragndrop | ||||||||||
│ | │ | └─ | spec | |||||||||
│ | ├─ | extensions | ||||||||||
│ | ├─ | idl | ||||||||||
│ | │ | ├─ | examples | |||||||||
│ | │ | │ | └─ | hello | ||||||||
│ | │ | ├─ | images | |||||||||
│ | │ | ├─ | mapping | |||||||||
│ | │ | │ | └─ | chars | ||||||||
│ | │ | └─ | tutorial | |||||||||
│ | │ | ├─ | app | |||||||||
│ | │ | ├─ | applet | |||||||||
│ | │ | ├─ | idl | |||||||||
│ | │ | ├─ | server | |||||||||
│ | │ | └─ | string | |||||||||
│ | ├─ | internat | ||||||||||
│ | │ | └─ | demos | |||||||||
│ | │ | ├─ | MessageFormat | |||||||||
│ | │ | │ | ├─ | 1.1 | ||||||||
│ | │ | │ | └─ | 1.0.2 | ||||||||
│ | │ | ├─ | NumberFormat | |||||||||
│ | │ | │ | ├─ | 1.1 | ||||||||
│ | │ | │ | └─ | 1.0.2 | ||||||||
│ | │ | ├─ | TextBound | |||||||||
│ | │ | │ | ├─ | 1.1 | ||||||||
│ | │ | │ | └─ | 1.0.2 | ||||||||
│ | │ | ├─ | code | |||||||||
│ | │ | ├─ | Collate | |||||||||
│ | │ | │ | ├─ | 1.1 | ||||||||
│ | │ | │ | └─ | 1.0.2 | ||||||||
│ | │ | └─ | DateTimeFormat | |||||||||
│ | │ | ├─ | 1.1 | |||||||||
│ | │ | └─ | 1.0.2 | |||||||||
│ | ├─ | intl | ||||||||||
│ | │ | └─ | sample | |||||||||
│ | ├─ | jar | ||||||||||
│ | ├─ | jdbc | ||||||||||
│ | │ | ├─ | getstart | |||||||||
│ | │ | ├─ | spec | |||||||||
│ | │ | └─ | spec2 | |||||||||
│ | ├─ | jni | ||||||||||
│ | │ | └─ | spec | |||||||||
│ | ├─ | jvmdi | ||||||||||
│ | ├─ | jvmpi | ||||||||||
│ | ├─ | math | ||||||||||
│ | ├─ | misc | ||||||||||
│ | │ | └─ | deprecation | |||||||||
│ | ├─ | net | ||||||||||
│ | │ | └─ | images | |||||||||
│ | ├─ | performance | ||||||||||
│ | ├─ | reflection | ||||||||||
│ | │ | └─ | spec | |||||||||
│ | ├─ | refobs | ||||||||||
│ | ├─ | resources | ||||||||||
│ | ├─ | rmi | ||||||||||
│ | │ | ├─ | activation | |||||||||
│ | │ | │ | └─ | code | ||||||||
│ | │ | ├─ | archives | |||||||||
│ | │ | ├─ | code | |||||||||
│ | │ | ├─ | images | |||||||||
│ | │ | ├─ | phaosrmi | |||||||||
│ | │ | │ | └─ | code | ||||||||
│ | │ | │ | ├─ | applet | ||||||||
│ | │ | │ | ├─ | client | ||||||||
│ | │ | │ | └─ | server | ||||||||
│ | │ | └─ | spec | |||||||||
│ | ├─ | security | ||||||||||
│ | │ | ├─ | images | |||||||||
│ | │ | └─ | spec | |||||||||
│ | ├─ | serialization | ||||||||||
│ | │ | ├─ | examples | |||||||||
│ | │ | │ | ├─ | altimpl | ||||||||
│ | │ | │ | ├─ | custom | ||||||||
│ | │ | │ | ├─ | evolvenewsuper | ||||||||
│ | │ | │ | ├─ | evolveserial | ||||||||
│ | │ | │ | ├─ | externpers | ||||||||
│ | │ | │ | ├─ | externsuper | ||||||||
│ | │ | │ | ├─ | images | ||||||||
│ | │ | │ | ├─ | nonexternsuper | ||||||||
│ | │ | │ | ├─ | nonserialsuper | ||||||||
│ | │ | │ | ├─ | sockets | ||||||||
│ | │ | │ | └─ | symbol | ||||||||
│ | │ | └─ | spec | |||||||||
│ | ├─ | sound | ||||||||||
│ | ├─ | swing | ||||||||||
│ | └─ | versioning | ||||||||||
│ | └─ | spec | ||||||||||
├─ | relnotes | |||||||||||
├─ | tooldocs | |||||||||||
│ | ├─ | javadoc | ||||||||||
│ | │ | ├─ | doclet | |||||||||
│ | │ | │ | └─ | com | ||||||||
│ | │ | │ | └─ | sun | ||||||||
│ | │ | │ | └─ | javadoc | ||||||||
│ | │ | └─ | source | |||||||||
│ | │ | ├─ | resources | |||||||||
│ | │ | └─ | standard | |||||||||
│ | │ | └─ | resources | |||||||||
│ | ├─ | solaris | ||||||||||
│ | │ | └─ | images | |||||||||
│ | └─ | win32 | ||||||||||
│ | └─ | images | ||||||||||
└─ | api | |||||||||||
├─ | java | |||||||||||
│ | ├─ | applet | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | awt | ||||||||||
│ | │ | ├─ | class-use | |||||||||
│ | │ | ├─ | color | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | datatransfer | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | dnd | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | event | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | font | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | geom | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | im | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | image | |||||||||
│ | │ | │ | ├─ | class-use | ||||||||
│ | │ | │ | └─ | renderable | ||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | ||||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | └─ | doc-files | |||||||||
│ | ├─ | beans | ||||||||||
│ | │ | ├─ | class-use | |||||||||
│ | │ | └─ | beancontext | |||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | io | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | lang | ||||||||||
│ | │ | ├─ | class-use | |||||||||
│ | │ | ├─ | ref | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | reflect | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | └─ | doc-files | |||||||||
│ | ├─ | math | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | net | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | rmi | ||||||||||
│ | │ | ├─ | class-use | |||||||||
│ | │ | ├─ | activation | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | dgc | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | registry | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | └─ | server | |||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | security | ||||||||||
│ | │ | ├─ | class-use | |||||||||
│ | │ | ├─ | acl | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | cert | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | interfaces | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | └─ | spec | |||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | sql | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | text | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | └─ | util | ||||||||||
│ | ├─ | class-use | ||||||||||
│ | ├─ | jar | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | └─ | zip | ||||||||||
│ | └─ | class-use | ||||||||||
├─ | javax | |||||||||||
│ | ├─ | accessibility | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | └─ | swing | ||||||||||
│ | ├─ | class-use | ||||||||||
│ | ├─ | border | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | colorchooser | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | filechooser | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | event | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | table | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | text | ||||||||||
│ | │ | ├─ | class-use | |||||||||
│ | │ | ├─ | html | |||||||||
│ | │ | │ | ├─ | class-use | ||||||||
│ | │ | │ | └─ | parser | ||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | rtf | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | └─ | doc-files | |||||||||
│ | ├─ | tree | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | undo | ||||||||||
│ | │ | └─ | class-use | |||||||||
│ | ├─ | plaf | ||||||||||
│ | │ | ├─ | class-use | |||||||||
│ | │ | ├─ | basic | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | metal | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | └─ | multi | |||||||||
│ | │ | └─ | class-use | |||||||||
│ | └─ | doc-files | ||||||||||
├─ | org | |||||||||||
│ | └─ | omg | ||||||||||
│ | ├─ | CORBA | ||||||||||
│ | │ | ├─ | class-use | |||||||||
│ | │ | ├─ | DynAnyPackage | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | ORBPackage | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | ├─ | TypeCodePackage | |||||||||
│ | │ | │ | └─ | class-use | ||||||||
│ | │ | └─ | portable | |||||||||
│ | │ | └─ | class-use | |||||||||
│ | └─ | CosNaming | ||||||||||
│ | ├─ | class-use | ||||||||||
│ | └─ | NamingContextPackage | ||||||||||
│ | └─ | class-use | ||||||||||
└─ | index-files |
また、Java 3Dのドキュメントを、Java 2のドキュメント展開後に作られたdocsディレクトリーに展開しました。
C:\jdk1.2.1\docs>jar xvf java3d1_1_1-doc.zip
上記のコマンドを実行すると、以下のようなディレクトリー構成で展開されます。
C:\ | |||||||||
└─ | jdk1.2.1 | ||||||||
└─ | docs | ||||||||
└─ | html | ||||||||
├─ | javax | ||||||||
│ | ├─ | vecmath | |||||||
│ | └─ | media | |||||||
│ | └─ | j3d | |||||||
└─ | com | ||||||||
└─ | sun | ||||||||
└─ | j3d | ||||||||
├─ | utils | ||||||||
│ | ├─ | universe | |||||||
│ | ├─ | image | |||||||
│ | ├─ | geometry | |||||||
│ | ├─ | behaviors | |||||||
│ | │ | ├─ | picking | ||||||
│ | │ | ├─ | mouse | ||||||
│ | │ | ├─ | keyboard | ||||||
│ | │ | └─ | interpolators | ||||||
│ | ├─ | audio | |||||||
│ | └─ | applet | |||||||
├─ | loaders | ||||||||
│ | ├─ | objectfile | |||||||
│ | └─ | lw3d | |||||||
└─ | audioengines | ||||||||
└─ | javasound |
著者はJava 3D API Specification をC:\jdk1.2.1\docsディレクトリーに展開しました。
C:\jdk1.2.1\docs>jar xvf j3dguide.zip
C:\jdk1.2.1 | |||
└─ | docs | ||
└─ | j3dguide | ||
├─ | shared | ||
└─ | chars |
著者はJava 2やJava 3Dのドキュメントファイルを、Windowsデスクトップのショートカットアイコンとして登録して利用しています。
アイコン | 内容 | ファイル名 |
---|---|---|
Java3D Spec | Java 3D API仕様 (英語版) | C:\jdk1.2.1\docs\j3dguide\j3dTOC.doc.html |
Java3D API | Java 3D APIドキュメント (英語版) | C:\jdk1.2.1\docs\html\index.html |
Java2 Document | JDK 1.2ドキュメント (日本語版) | C:\jdk1.2.1\docs\ja\index.html |
Java2 API | JDK 1.2 APIドキュメント (日本語版) | C:\jdk1.2.1\docs\ja\api\index.html |
Java 3D 1.1.1をインストールすると、com.sun.j3dパッケージのソースコードのJARファイルもインストールされます。
このファイルはjarで圧縮されていますので、次のコマンドで復元してください。
C:\jdk1.2.1>jar xvf Java 3D-utils-src.jar
C:\jdk1.2.1に、以下のようなディレクトリー構成でソースファイルが復元されます。
C:\jdk1.2.1 | ||||||||
└─ | src | |||||||
└─ | com | |||||||
└─ | sun | |||||||
└─ | j3d | |||||||
├─ | audioengines | // AudioEngineなどのクラス | ||||||
│ | └─ | javasound | // JavaSoundMixerクラス | |||||
├─ | loaders | // ファイル・ローダーの基本クラス | ||||||
│ | └─ | lw3d | // LightWaveファイル・ローダー | |||||
└─ | utils | |||||||
├─ | applet | // MainFrameクラス | ||||||
├─ | audio | // DistanceAttenuationクラス | ||||||
├─ | behaviors | |||||||
│ | ├─ | mouse | // マウス処理の基本クラス | |||||
│ | ├─ | keyboard | // キーボード処理の基本クラス | |||||
│ | ├─ | interpolators | // アニメーションの基本クラス | |||||
│ | └─ | picking | // ピッキングの基本クラス | |||||
├─ | image | // TextureLoaderクラス | ||||||
├─ | geometry | // プリミティブ描画オブジェクト | ||||||
└─ | universe | // SimpleUniverseクラス |