Project Looking Glass開発者ガイド


このドキュメントではjava.net上のSunの3DデスクトップのオープンソースプロジェクトのProject Looking Glass開発者リリースを紹介します。開発環境の設定方法並びにProject Looking Glassと3Dアプリケーションのビルド方法を説明します。

1. はじめに
2. 開発環境の設定
3. Project Looking Glass開発者リリースのダウンロード
4. Project Looking Glassのビルド
5. appモードの設定
6. Project Looking Glassの起動
7. 最新のProject Looking Glassのソースコードの入手
8. Project Looking Glassのソースのクィックツアー
9. Project Looking Glassへの貢献
10. Project Looking Glass向け3Dアプリケーションの書き方の学習

1. はじめに

もしまだ実行環境を設定していないのであれば、さぁ、はじめよう Project Looking Glass 開発者リリースの情報を参照して下さい。特に、自分の環境がProject Looking Glassを実行するための最低限の必要条件を満たしているかを確認して下さい。

アプリケーションの開発やProject Looking Glassの拡張をおこなうために、いくつかのコンポーネントをインストールし、Project Looking Glassのソースをダウンロードする必要があります。

2. 開発環境の設定

開発ツールのダウンロードとインストール

Project Looking Glassは、ビルドプロセスを管理するためにApacheのANTビルドツールを使用します。まだANTをインストールしていなければ、apache.orgのWebサイトからバイナリをダウンロードして下さい。

http://ant.apache.org/

注: 以下の手順では、ANTのバイナリを/tmpにダウンロードしたと仮定しています。

ANTをダウンロードした後、次のようにインストールして下さい。
  1. まずrootになります。

    % su root
    Password: rootのパスワードを入力
    #

  2. ApacheのANTをインストールします。

    # cd /usr/local
    # tar -xzf /tmp/apache-ant-1.6.1-bin.tar.gz

  3. rootから抜けます。

    # exit
    %

  4. さらに環境変数を設定する必要があります。 以下は bash(1) を使用した場合の例です。

    ANT_HOME=/usr/local/apache-ant-1.6.1
    PATH=$ANT_HOME/bin:$PATH

3. Project Looking Glass開発者リリースのダウンロード

Project Looking Glass開発者リリースのソースコードは、java.net上のLG3Dオープンソースプロジェクトから入手できます。

java.netWebサイトへの登録

まだjava.netに登録していなければ、ソースコードのダウンロードの前に次のようにアカウントを作成する必要があります。

  1. http://www.java.netにアクセスして、ページの一番上にあるRegisterをクリックします。
  2. 好きな名前とメールアドレスを入力してから、[登録]ボタンを押します。
  3. アカウントのパスワードの設定方法が記述してあるメールが送られてきます。一旦パスワードを設定して、java.net サイトの参加規約(JAVA.NET WEB SITE TERMS OF PARTICIPATION)を承認すれば、ログインできます。
  4. その後は、LG3DプロジェクトWebサイトを見て回ってください。
Project Looking Glassのコアのソースコードを見るためには、LG3DプロジェクトWebサイトサブプロジェクトの節の中のlg3d-coreをクリックします。 次にサイドバーの中のプロジェクト ツールにあるソースコードをクリックします。そうすると、右側にソースツリーがリンクとして表示されるので、そのリンクをクリックすることによってソースツリーを見たり、個々のファイルをダウンロードすることができます。

Project Looking Glassコアのソースのダウンロード

さて次は、Project Looking Glassコアのソースを設定済みの開発システムに次のようにダウンロードします。

  1. まずProject Looking Glassプロジェクトのためのディレクトリを例えば次のように作成します。

    % mkdir -p ~/projects/lg3d
    % cd ~/projects/lg3d


    appモードの注意: もしappモード(lg3d-app)を実行するためにこのビルドを使おうとしている場合は、必ずローカルディスクのパーティションにダウンロードしてください。 ネットワーク経由でマウントされたパーティションは使ってはいけません。

  2. 次に、cvs.dev.java.netのCVSサーバにログインします。

    % cvs -d :pserver:username@cvs.dev.java.net:/cvs login
    CVS password:
    password

    この中のusernamepasswordはjava.netの自分のアカウント情報を使用して下さい。

  3. lg3d-coreのソースファイルをチェックアウトします。

    % cvs -d :pserver:username@cvs.dev.java.net:/cvs checkout lg3d-core

  4. lg3d-demo-appsプロジェクトは、CD viewerなどの3Dアプリケーションやチュートリアルを含んでいます。Project Looking Glassデスクトップはこれらのファイルを必要としますので、これらをチェックアウトします。

    % cvs -d :pserver:username@cvs.dev.java.net:/cvs checkout lg3d-demo-apps

Windowsユーザへの注意: Windowsプラットフォーム用のCVSクライアントを使ってソースファイルをチェックアウトすることができます。 しかし、どのファイルをチェックする時でも、Windowsファイル名では大文字・小文字を区別しないということに注意する必要があります。

Project Looking GlassのX11のソースのダウンロード (オプション)

Project Looking Glassをビルドして実行するためには、Project Looking GlassのX11のソースをダウンロードする必要はありません。 もし、X11のソースのダウンロードを選ばなくても、(lg3d-devスクリプトを使って)"devモード"で実行できるでしょう。 このモードでは、3Dアプリケーションは実行できますが、ネイティブのX11アプリケーションは実行できません。

"sessionモード" (lg3d-session)と"appモード" (lg3d-app)を使えば、3DアプリケーションとネイティブのX11アプリケーションの両方が実行できるようになりますが、これらのスクリプトは、あなたがX11ソースをダウンロードしてビルドした場合だけ動作します。

Project Looking GlassのX11ソースをダウンロードするためには、lg3d-x11のCVSツリーをチェックアウトして、あなたがダウンロードしたlg3d-coreディレクトリと同じディレクトリ内にそのディレクトリを作ります。 必ずlg3d-coreのブランチと同じ名前のCVSブランチをチェックアウトしてください。

たとえば、lg3d-coreが/opt/mylg/lg3d-coreディレクトリにあり、そのブランチ名がdev-0-7-0の場合は、lg3d-x11を次のようにチェックアウトしてください。

% cd /opt/mylg
% cvs -d :pserver:username@cvs.dev.java.net:/cvs checkout -r dev-0-7-0 lg3d-x11/platform/arch lg3d-x11

platform/archの現在サポートされている値は、以下のどれかです。

linux/i686
solaris/i86pc
(Solaris用)

次は?

おめでとうございます。 以上でビルド環境の設定が終了し、これでProject Looking Glassをビルドできるようになりました。

4. Project Looking Glassのビルド

ソースからのProject Looking Glassのビルドは、lg3d-coreディレクトリにあるANTのビルドファイル(build.xml)によっておこなわれます。そのディレクトリに移動し、antコマンドを実行して、Project Looking Glassをビルドします。

% cd ~/projects/lg3d/lg3d-core
% ant

実行すると、次のように出力されます。
Buildfile: build.xml
 
init:
    [mkdir] Created dir: /home/username/projects/lg3d/lg3d-core/build/classes
 
unpack-x:
    [untar] Expanding: /home/username/projects/lg3d/lg3d-core/ext/lg3d-x11.tar.gz into /home/username/projects/lg3d/lg3d-core/ext
 
compile:
    [javac] Compiling 1 source file to /home/username/projects/lg3d/lg3d-core/build-tools
    [javac] Compiling 626 source files to /home/username/projects/lg3d/lg3d-core/build/classes
 
compile-x11:
 
check-escher:
    [javac] Compiling 25 source files to /home/username/projects/lg3d/lg3d-core/build/classes
 
init:
 
unpack-x:

native-x11:
     [exec] .:/home/username/projects/lg3d/lg3d-core/src/../build/classes
 
junit-tests:
 
no-junit-tests:
     [echo] Skipping junit tests because junit.jar is not installed in ext-unbundeled
 
compile-demo-apps:
    [javac] Compiling 5 source files to /home/username/projects/lg3d/lg3d-core/build/classes
     [copy] Copying 4 files to /home/username/projects/lg3d/lg3d-core/build/classes/org/jdesktop/lg3d/apps/cdviewer/resources
     [copy] Copying 1 file to /home/username/projects/lg3d/lg3d-core/build/classes/org/jdesktop/lg3d/apps/tutorial/resources
     [copy] Copying 1 file to /home/username/projects/lg3d/lg3d-core/build/classes/org/jdesktop/lg3d/apps/help/resources
 
jar:
    [mkdir] Created dir: /home/username/projects/lg3d/lg3d-core/build/lib
      [jar] Building jar: /home/username/projects/lg3d/lg3d-core/build/lib/lg3d-core.jar
 
all:
 
BUILD SUCCESSFUL
Total time: 32 seconds

5. appモードの設定

もし、 src/devscripts/lg3d-app スクリプトを使おうとしている場合には 必ずローカルディスクパーティションにlg3d-coreのCSVツリーのコピーを置いてください。 それから、rootユーザになり、次のように実行します。

# cd ~/projects/lg3d/lg3d-core
# ./postinstall


その後に、通常ユーザに戻ります。

6. Project Looking Glassの起動

Project Looking Glassを起動する方法は、appモード、sessionモード、devモードの3つがあります。 これらのモードはさぁ、はじめよう Project Looking Glass 開発者リリースドキュメントのProject Looking Glassの起動の節に書かれています。

開発者としての唯一の違いは、 ~/projects/lg3d/lg3d-core/bin の中にある起動スクリプトの代わりに、 ~/projects/lg3d/lg3d-core/src/devscripts. の中にある起動スクリプトを使う必要があることです。

Project Looking Glassの起動がうまくいかない場合は、さぁ、はじめよう Project Looking Glass 開発者リリーストラブルシューティングの節を参照して下さい。

7. 最新のProject Looking Glassのソースコードの入手

Project Looking Glassの最新の開発状況を反映するには、java.netのcvsサーバに定期的にログインし、次のように自分のcvsの作業領域を更新して下さい。

  1. 自分の~/projects/lg/lg3d-coreディレクトリに移動します。

    % cd ~/projects/lg/lg3d-core

  2. 現在のバージョンのソース用のビルドファイルを削除します。

    % ant clean

  3. 自分の~/projects/lgディレクトリに移動します。

    % cd ~/projects/lg

  4. 自分の作業領域を最新のProject Looking Glassのソースコードに更新します。

    % cvs -d :pserver:username@cvs.dev.java.net:/cvs update -Pd lg3d-core

    さらにデモアプリケーションも次のように更新します。

    % cvs -d :pserver:username@cvs.dev.java.net:/cvs update -Pd lg3d-demo-apps

    usernameは自分のjava.netのユーザ名に置き換えて下さい。

以上で、Project Looking Glassを無事ビルドすることができました。さて、次にソースコードに親しむために、lg3d-core/ディレクトリをざっと見て回りましょう。

8. Project Looking Glass Sourceのクイックツアー

Project Looking Glassのソースコードはlg3d-core/srcにあります。以下は、lg3d-coreのソースのCVSリポジトリにある様々なファイルの概要です。

ディレクトリ 説明
build/ ビルドファイルはこのディレクトリにあります。
build-tools/ Project Looking Glassをビルドするためのツール群です。
build.xml Antのビルド制御ファイルです。
ext/ escher (X11のJavaバインディング)やlg3d-x11の安定版ビルドのような、Project Looking Glassと共にリリースされる様々なコンポーネントです。
   app/ タスクバーに配備するアプリケーションを置くディレクトリ。 LG3Dは自動的にこのディレクトリの中のJARファイルを探して、(もし正しく設定されていれば)タスクバーにそれらを追加します。
ext-unbundled/ Project Looking Glassと一緒に配布することが認められていないコンポーネント(例、junit, Java3Dローダなど)を入れることができるディレクトリです。$LGX11HOMEを使う代わりに自分でビルドしたlg3d-x11をここに入れることもできます。
src/ lg3d-coreのソースツリーのルートです。
    classes/ すべての.javaファイルがここにあります。
より詳しい情報は、バイナリに含まれているdocs/javadoc/apiにあるjavadocファイルを参照してください。
    devscripts/ 様々なProject Looking Glass開発用スクリプトのソースです。これらはbuild/ディレクトリにあるクラスを利用します。
        HelloUniverse Project Looking GlassセッションにおいてJava3Dの回転立方体のデモを起動するスクリプトです。
        README このディレクトリにあるいくつかのスクリプトに対する説明です。
        Xtest
X11サポートを使わずに、Java X11のクラスをテストするためのスクリプトです。
        displayserver Display Serverを起動するスクリプトです。
        lg3d-dev 既存のX11デスクトップ(例、Gnome、KDE)の中の1つのウィンドウ内で、X11アプリケーションサポートなしでProject Looking Glassセッションを起動します。 (これは、「開発者用」または「Xなしのモード」と呼ばれます)
        lg3d-session
X11アプリケーションサポートありで、Project Looking Glassセッションをフルスクリーンモードで起動するものです。
        lg3d-app
Project Looking Glassを、X11アプリケーションサポートありで、既存のX11デスクトップ(例、Gnome、KDE)の一つのウィンドウとして起動します。
        postinstall
lg3d-appモードのための設定スクリプトで、lg3d-appを起動する前にrootで実行しておく必要があります。
        setup 他のスクリプトが利用するヘルパースクリプトです。
    etc/ 様々な設定ファイルを含んでいます。
        jz/ 現在利用されていないディレクトリです。
        lg3d/
            README 様々なlgconfig*ファイルのドキュメントです。
            lgconfig* Project Looking Glassが実行可能な様々なモードに応じた設定スクリプトです。
            logging.properties Display Serverのログファイルである/var/tmp/lgserver.logへのログ出力の冗長度を制御するための設定ファイルです。
                  displayconfig/ 実験目的のために、このディレクトリには、Project Looking Glassを、マルチスクリーン、立体視、Power Wall (壁面型の大型表示装置) などの複雑な表示環境で起動するためのファイルがあります。設定の選択はlgconfig.xmlでおこないます。

警告! 他のディスプレイ設定はまだ十分にテストされていません。
    native/org/jdesktop/lg3d/displayserver/fws/x11/ X11との統合のためのCのコードです。
    resources/images/ Project Looking Glassで使われる様々な画像です。
tests/ そのうちにProject Looking Glassのテストスィートを格納します。
www/ java.netサイトのページと様々なドキュメントです。

9. Project Looking Glassへの貢献

貢献の内容の理解

貢献に関するより詳しい情報は、Project Looking Glassへの貢献というドキュメントを読んで下さい。そして、興味があれば、LG3Dプロジェクトへのアクセス権をリクエストして下さい。

LG3Dプロジェクトへのアクセス権のリクエスト

次のように、LG3Dプロジェクトへのアクセス権をリクエストします。

  1. java.netにログインしていなければ、 http://www.java.netにアクセスし、自分のユーザ名とパスワードを一番上のフィールドに入力してから[Login]ボタンを押して、ログインして下さい。
  2. https://lg3d.dev.java.net にアクセスし、再アクセスするためにそれをブックマークに入れて下さい。きっとよく戻ってくることになるでしょう。
  3. プロジェクト メンバーシップ/ロールの要求のリンクをクリックして下さい。
  4. 次のように適切な役割を選択して下さい。
    - 単にProject Looking Glassをビルドしたいのであれば、Observerを選択して下さい。
    - Project Looking Glassに対して新たなコードを開発し、プロジェクトにコードを提供するオプションを希望するのであれば、Developerを選択して下さい。
  5. リクエストを送信すると、プロジェクトへのアクセス方法の説明を含むメールを受け取るはずです。
今後プロジェクトのドキュメントにアクセスするためには、LG3DプロジェクトのWebサイトにアクセスする時にログインする必要があります。

10. Project Looking Glass向け3Dアプリケーションの書き方の学習

Project Looking Glassは、Project Looking Glass3Dデスクトップ環境の3Dの性質を活かしたアプリケーションの書き方を学ぶために用いることができる3Dアプリケーションの例を含んでいます。これらの例はlg3d-demo-appsプロジェクトで見つけることができます。

参考:

NetBeansを使ったProject Looking Glassのビルドと実行
さぁ、はじめよう Project Looking Glass 開発者リリース
Project Looking Glass開発者リリースノート
Project Looking Glassへの貢献


$Revision: 1.7 $ $Date: 2005/06/26 16:02:49 $ (英語版Revision: 1.19)