Java 3Dをインストールしましょう


Java 3Dに必要なもの

まずハードウエアとしては、以下の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/ATSun WorkStation
CPUIntel x86SPARC
OSLinux (glibc2)Windows 95/98NT4.0Solaris
グラフィックスOpenGL 1.1×
Mesa 3.x×××
Direct X 6.1×××
JDKJDK 1.2.x
Java 3DJava 3D 1.1.1

ハードウエアとOS

Java 3Dは本書執筆時点では次のハードウエアで動作します。

OS

OpenGL1.1

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 が含まれています。

Mesa 3.x

Linux用のJava 3DはOpenGL互換のグラフィックスAPIであるMesa 3.xで動作します。

Mesaに関しては下記URLを参照してください。

http://www.mesa3d.org/

LinuxへのMesa 3.xのインストールは後に詳しく解説します。

DirectX 6.1

Java 3Dには、OpenGL ではなく DiretX で動作するバージョンもあります。
だたし本書執筆時点ではDirectX版はまだ正式版が公開されていません。本書はすべてOpenGL版を元に執筆されています。
Direct Xで動作するJava 3Dを入手するには、SunのJDC (Java Developer's Connection)に加入する必要があります。
加入は無料です。下記ページから参加申し込みができます。

http://developer.java.sun.com/

Java 2 (JDK1.2)

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です。
Java 3D 1.1.1は下記からダウンロードできます。

http://java.sun.com/products/java-media/3D/download.html

j3d111.gif

著者がダウンロードしたのは下記のファイル名とファイルサイズのものです。

java3d1_1_1-win-opengl-sdk.exe 3,858,307バイト

ドキュメント(Java 2、Java 3D)

日本語版の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開発用のマクロが充実していること、軽くてカスタマイズが容易なエディターであることなどから秀丸エディタを使用しています。
秀丸エディタは下記からダウンロードできます。

http://hidemaru.xaxon.co.jp/

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は下記からダウンロードできます。

http://sunsite.auc.dk/jde/

Windows環境でJDEのインストール、使用方法については、下記Webページに情報があります。

OpenGL1.1のインストール(OSR2よりも前のWindows95のみ)

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-1216:12.
..<DIR>99-04-1216:12..
README TXT 4,78896-08-0912:03README.TXT
GLU32 DLL 139,71296-07-2912:09GLU32.DLL
OPENGL32 DLL 733,29696-07-2912:11OPENGL32.DLL
GL H 68,39296-05-2218:52GL.H
GLAUX H 12,02496-02-09 9:42GLAUX.H
GLU H 18,28296-05-1715:35GLU.H
GLAUX LIB1,093,95896-07-1615:41GLAUX.LIB
GLU32 LIB 49,51496-06-1215:37GLU32.LIB
OPENGL32 LIB 336,27496-07-1615:33OPENGL32.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
ボリュームシリアル番号は xxxx-xxxx
ディレクトリは C:\WINDOWS\SYSTEM
OPENGL32DLL733,29696-07-2912:11OPENGL32.DLL
1 個733,296バイトのファイルがあります

C:\WINDOWS\SYSTEM>dir glu32.dll

ドライブ C: のボリュームラベルは WINDOWS95
ボリュームシリアル番号は xxxx-xxxx
ディレクトリは C:\WINDOWS\SYSTEM
GLU32DLL139,71296-07-2912:09GLU32.DLL
1 個139,712バイトのファイルがあります

コピーが完了したらWindows 95を再起動してください。

[OpenGL 1.1の動作確認]

最初に、下記のファイルが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.exeC:\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-1216:12 .
.. <DIR> 99-04-1216:12 ..
README TXT 3,578 96-01-3013:09 README.TXT
GLU32 DLL 156,128 95-08-2313:02 GLU32.DLL
OPENGL32 DLL 558,464 95-12-1323:18 OPENGL32.DLL
GL H 58,061 95-04-1713:36 GL.H
GLAUX H 11,944 95-04-1713:36 GLAUX.H
GLU H 16,325 95-04-2610:16 GLU.H
GLAUX LIB 1,254,160 95-08-1416:55 GLAUX.LIB
GLU32 LIB 50,188 95-08-2313:02 GLU32.LIB
OPENGL32 LIB 298,996 95-12-1323:15 OPENGL32.LIB
MGA DRV 112,896 95-08-3016:57 MGA.DRV
RXDDI DLL 46,080 95-08-3014:19 RXDDI.DLL
SS3DFO SCR 100,192 95-08-2313:17 SS3DFO.SCR
SSFLWBOX SCR 61,744 95-08-2313:17 SSFLWBOX.SCR
SSPIPES SCR 84,672 95-08-2313:17 SSPIPES.SCR
SSTEXT3D SCR 96,736 95-08-2313:17 SSTEXT3D.SCR
15 個 2,910,164バイトのファイルがあります

このうち拡張子SCRのものは、Windows用の3Dスクリーン・セーバーです。
このスクリーン・セーバーをWindowsディレクトリーにコピーすると、スクリーンセーバーとして使用できます。

C:\ogltemp>copy *.src c:\windows

3dscr.gif

[スタート]-[設定]-[コントロールパネル]-[画面]-[スクリーンセーバー]の[スクリーンセーバー]リストから、3Dスクリーン・セーバーを選んでみてください。
3Dスクリーンセーバーが実行できればOpenGLは正常に動作しています。

OpenGLについては、OpenGL日本語FAQをぜひ御覧ください。

http://tech.webcity.ne.jp/~andoh/opengl/

JDK1.2のインストール

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のインストールが終了しました。

環境変数PATHの設定

JDK 1.2.1を動かすには、JDKのbinディレクトリーを環境変数PATHに含める必要があります。

C:\>set PATH=C:\jdk1.2.1\bin;%PATH%

Windows NT 4.0での注意点

Windows NT 4.0の場合、JDK 1.2.xのインストーラーはjava.exe, javaw.exeC:\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\SYSTEM32java.exe, javaw.exeC:\jdk1.2.1\JRE\lib\extディレクトリー配下にインストールされたJava 3Dのライブラリーをロードできず、例外が発生してJava 3Dが実行できなくなります。

これを回避するには以下の2とおりの方法があります。

  1. 環境変数PATHの中で、C:\jdk1.2.1\binC:\WINNT\SYSTEM32よりも前に設定する
  2. C:\WINNT\SYSTEM32ディレクトリー配下のjava.exe, javaw.exeを削除する
    (削除しても特に問題はありません)

最初の方法が簡単です。
PATHの変更で他のソフトに影響が出る場合は2番目の方法で回避してください。

Java 3D1.1.1 (OpenGL版)のインストール

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
        │ │ ├─print
        │ │ │ └─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 SpecificationC:\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デスクトップのショートカットアイコンとして登録して利用しています。

jdocicns.gif

アイコン内容ファイル名
Java3D SpecJava 3D API仕様 (英語版)C:\jdk1.2.1\docs\j3dguide\j3dTOC.doc.html
Java3D APIJava 3D APIドキュメント (英語版)C:\jdk1.2.1\docs\html\index.html
Java2 DocumentJDK 1.2ドキュメント (日本語版)C:\jdk1.2.1\docs\ja\index.html
Java2 APIJDK 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クラス