今まで説明したProject Looking Glass(LG3D)の機能を眺めていると,あることに気づかされます。それは,3Dをどのように使うかということです。

3Dはゲームやデータの可視化では当たり前のように使用されています。しかし,3Dのデスクトップ・システムはほんの数えるほどしかありません。

デスクトップを3Dにするという研究も以前からおこなわれているのですが,なかなか実用的なものは生まれてきませんでした。

多くの研究が,デスクトップの3D空間の中に現実世界をそのまま構築しようとしてきました。しかし,例えばドキュメントを表示するために,3Dデスクトップの中の図書室まで歩いていって,本棚からそれを取り出し,表示するなんてことを日常の仕事の中でやっている暇があるでしょうか。

もちろん,ゲームの中ではそれでも構わないと思います。しかし,仕事となると話は別です。

LG3Dの 3Dの使い方は,それらとは一線を画しています。

窓を立てる機能のところでも説明しましたが,「Windowsでは2クリックかかっていたところを,LG3Dでは1クリックで実現する」,これが肝ではないでしょうか。

LG3D的には2Dか3Dかという違いは,2クリックが必要なのか1クリックで十分なのかという差に帰着します。

つまり,既存の2Dデスクトップ・システムのユーザビリティを上げるために3Dを加えているのです。川原氏はこのように2Dと3Dのいいとこ取りをしていることを称して「2.5Dデスクトップ・システム」と呼んでいます。

2.5Dデスクトップ・システム,これがProject Looking Glassなのです。

そしてオープンソースへ

機能ばかりを先に説明してしまいました。私がLG3Dに出会ったJava Technology Conference 2004(JTC 2004)から少し時を進めましょう。時は2004年6月に飛びます。そう,サンフランシスコで開催されたJavaOne 2004です。

この年のJavaOneでは,LG3Dはまさに注目の的でした。川原氏は3日間にわたって基調講演に登壇することになります。

そして,2日目の基調講演でLG3Dがオープンソースのプロジェクトになることが発表されました。

実際には,オープンソースにいたるまで,いろいろとごたごたがあったようです。Software Design 2004年10月号(技術評論社発行)で川原氏がその舞台裏を見せています。この記事は現在,java.netのLG3Dプロジェクト・サイトで公開されていますので,参考にしてください(リンク)。

基調講演以外にもテクニカル・セッション,Community Meeting,そして会場であるMoscone Centerの横にあるMetreonというビルの壁にLG3Dのデモを上映するというイベントも行われました。

Community Meeting Community Meeting
Community Meetingで講演をする川原氏 Community Meetingの様子
Java Everywhere Living Billboard Java Everywhere Living Billboard
ビルの壁にLG3Dのデモを投影するイベント LG3Dと川原氏

Community Meetingには日本人の方も参加されており,Meetingの後にLG3Dの日本人コミュニティがその場で発足したのでした。

JavaOne 2004を機に,LG3Dはjava.netでオープンソース・プロジェクトとして活動を開始しています。

オープンソース版として公開されたRelease 0.6.0はProof of Conecptバージョンをスクラッチから再構築したものです。Proof of Conceptバージョンでは直接Open GLを使用するようになっていましたが,オープンソース版ではJava 3Dがベースになっています。

すべてスクラッチから再構成したため,Proof of Conceptバージョンの機能がすべて使えるわけではありません。しかし,現在は実現できていない機能についても,今後,順次実装されるはずです。

java.net では以下に示すLG3Dのプロジェクトが登録されています。

表1 java.netに登録されているLG3D関連のプロジェクト

プロジェクト名 URL 説明
lg3d https://lg3d.dev.java.net/ すべてのLG3Dプロジェクトのルートとなるプロジェクト
lg3d-core https://lg3d-core.dev.java.net/ LG3Dの本体を開発するプロジェクト
日本語をはじめ,さまざまな言語のページも提供されている
lg3d-demo-apps https://lg3d-demo-apps.dev.java.net/ サンプル・アプリケーションに関するプロジェクト
lg3d-incubator https://lg3d-incubator.dev.java.net/ コミュニティが開発したアプリケーションを公開するプロジェクト
lg3d-x11 https://lg3d-x11.dev.java.net/ LG3Dに関連するX11の改造を行うプロジェクト
lg3d-escher https://lg3d-escher.dev.java.net/ JavaからX11にアクセスするためのEscherライブラリをLG3D用に改造するためのプロジェクト
lg3d-art https://lg3d-art.dev.java.net/ LG3D用の背景,アイコンなどを集めたプロジェクト
lg3d-livecd https://lg3d-livecd.dev.java.net/ LG3DのLive CDを作成するプロジェクト
lg3d-webstart https://lg3d-webstart.dev.java.net/ WebstartでLG3Dを起動させるプロジェクト

著者紹介 櫻庭祐一

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