前回はサンプル・プログラムの内容を説明しました。このサンプルをコンパイルするにはLG3Dのメイン・ライブラリであるlg3d-core.jarをCLASSPATHに設定します。例えば,/opt/lg3dにLG3Dをインストールしてある場合,lg3d-core.jarは/opt/lg3d/lib/extディレクトリに配置されています。

> javac -cp /opt/lg3d/lib/ext/lg3d-core.jar Earth.java

さっそく,実行してみましょう。実行には lg3d-core で公開されているテスト用のシェル・スクリプトrunsampleを使っています。runsampleシェル・スクリプトの2行目には,LG3Dをインストールしたディレクトリが記述されています。お使いの環境に合わせてこの部分を編集してください。

> ./runsample Earth
Earth Sample Earth Sample
図28 サンプルの実行結果 図29 Javaマークをドラッグして回転させたところ

実行すると,図28 のように画面中央に地球が表示されます。マウスでドラッグすると地球を移動させることができます。移動するとユラユラする効果は,プログラムに何も記述しなくてもデフォルトで行われるようになっています。

また,背景の右上に描画されているJavaマークのところでマウスをドラッグすると,それに応じて地球が回転します(図29)。ちゃんと裏側の日本も描画されているのを確認できます。

たかだか50行程度(コメントを除けば30行程度)のプログラムですが,立派なLG3Dのアプリケーションです。それも,ほとんど3Dであることを意識することなくプログラミングできたはずです。

このサンプルは非常に簡単なもので,イベント処理などは行っていません。しかし,基本的な部分は含まれています。

なお,ここでのコンパイル/実行はLinuxの例です。SolarisやWindowsでもコンパイル/実行が可能です。

より詳しくプログラミングについて知りたい方は,下記のドキュメントを参考になさってください。

このドキュメントでは,インストールからLG3Dの操作法,アプリケーションの作成法まで幅広く解説されています。

LG3Dのプログラムはシンプルですぐにでも書けるのですが,アプリケーションを実行/デバッグするのはなかなか大変です。そこで筆者は現在,LG3Dのプログラミングから実行/デバッグまでをサポートするEclipseのプラグインを開発しています。

予定している機能は,CLASSPATHの自動設定,実行,デバッグ,パッケージングなどです。デバッグはEclipseの機能を使用しているので,ブレーク・ポイントの設定やステップ実行などが可能です。

今のところ個人で開発していますが,近い将来オープンソース化するつもりです。また,開発の様子をblogで公開しています。とはいうものの最近は更新頻度が極端に落ちてしまっているのが痛いのですが...

今月のまとめ

2カ月間に渡り,Project Looking Glassについて書いてきましたが,いかがだったでしょうか。

興味を持っていただけたのなら,ぜひコミュニティに参加してみましょう。java.netでは英語と日本語のメーリング・リストがあります。メーリング・リストと連動したフォーラム(掲示板)もあります。

のぞいてみるだけでもいいので,ぜひ登録してみてください。そして,もしLG3Dで困っている点,LG3DアプリケーションやLG3D自体に関しての意見やコメントなどがありましたら,投稿してみてください。

LG3Dがオープンソースとして公開されてから1年半がたちました。“もう”と考えるか,“まだ”と考えるかは人それぞれだと思います。ただ,LG3Dがまだ完成の域に達していないと感じているのはみな同じです。

2005年の12月にプロジェクト・メンバーのPaul Byrne氏がRelease 1.0へのロードマップを示しましたが,まだまだやることは多くあります。少しでも日本からの貢献ができればと思いますし,コミュニティの層ももっと厚くなっていけばと感じています。

読者のみなさんの参加をお待ちしています。

さて,来月はがらりと雰囲気を変えて,Java SEでのソフトウエアの管理の取り組みについて書いてみたいと思います。

Java SEではJ2SE 5.0(開発コード名Tiger)からソフトウエア管理の取り組みははじまっています。さらに,Java SE 6(開発コード名Mustang)でも機能向上が図られています。JMXをはじめとしたそれらの機能について紹介していきたいと思います。お楽しみに。

著者紹介 櫻庭祐一

横河電機の研究部門に勤務。同氏のJavaプログラマ向け情報ページ「Java in the Box」はあまりに有名