まずハードウエアとしては、以下の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: のボリュームラベルは WINDOWS95| OPENGL32 | DLL | 733,296 | 96-07-29 | 12:11 | OPENGL32.DLL |
| 1 個 | 733,296 | バイトのファイルがあります | |||
C:\WINDOWS\SYSTEM>dir glu32.dll
ドライブ C: のボリュームラベルは WINDOWS95| GLU32 | 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クラス | ||||||