Eclipse で Project Looking Glass を動かす

そういえば、LG3D を動かすことについて触れてませんでした。

Plug-in を使わないでも LG3D のアプリケーションを起動することができます。

試しにやってみましょう。サンプルは JAVA PRESS Vol.43 に掲載された Monolith1 クラスです。

import javax.vecmath.Vector3f;
import org.jdesktop.lg3d.sg.Appearance;
import org.jdesktop.lg3d.utils.shape.GlassyPanel;
import org.jdesktop.lg3d.utils.shape.SimpleAppearance;
import org.jdesktop.lg3d.wg.Component3D;
import org.jdesktop.lg3d.wg.Frame3D;

public class Monolith1 {
    public Monolith1() {
        Frame3D frame = new Frame3D();

        // Create Appearance Object
        Appearance appearance = new SimpleAppearance(1.0f, 0.6f, 0.6f, 1.0f, 
                                                     SimpleAppearance.DISABLE_CULLING);

        // Create Panel
        GlassyPanel panel = new GlassyPanel(0.05f, 0.05f, 0.005f, 0.005f, appearance);

        // Add Panel to Component
        Component3D component = new Component3D();
        component.addChild(panel);

        frame.addChild(component);

        // Initialize Size of Frame3D
        frame.setPreferredSize(new Vector3f(0.05f, 0.05f, 0.005f));

        // Show Frame
        frame.changeEnabled(true);
        frame.changeVisible(true);        
    }

    public static void main(String[] args) {
        new Monolith1();
    }
}

CLASSPATH の追加

デフォルトだとコンパイルもできないので、まずは CLASSPATH から。
プロジェクトを作るときの Wizard の Java Setting の Library で [Add External JARs...] を洗濯して、lg3d-core.jar を追加します。
もちろん、後から Properties の [Java Build Path] - [Library] - [Add External JARs...] で追加することもできます。

classpath

私は D:\lg3dLG3D をインストールしてあるので、このようになりました

classpath

実行時の設定

実行は Java Application でおこないます。重要なのは Arguments と classpath です。

Arguments は VM arguments に以下のような記述をします。これは私の環境のままになっているので、必要に応じてご自分の LG3D のインストールしたディレクトリに変えてください。

-Xmx512m -Dj3d.sortShape3DBounds="true" -Dlg.configurl=file:///D:/lg3d/etc/lg3d/lgconfig_1p_nox.xml -Dlg.displayconfigurl=file:///D:/lg3d/etc/lg3d/displayconfig/j3d1x1 -Dlg.etcdir=D:\lg3d\etc\

arguments

次は classpath です。ここには lg3d\ext にある JAR ファイルを追加します。

classpath

これで OK。実行してみましょう。

Screen Shot

もちろん、Debugger でも実行できますっ!