3D技術研究所Wiki > OpenGL > JOGL > JOGLをセットアップする方法

JOGLをセットアップする方法をまとめました。

情報

この項目を読み進めて頂く前にEclipseのセットアップが必要になります。
Eclipseのセットアップが完了していない場合は先にEclipseをセットアップする方法をお読みください。

目次




JOGLのダウンロード

jogamp.orgからJOGL関連ファイルをダウンロードします。


1. http://jogamp.org/へ行き Builds / Downloads の Current の zip をクリックします。

jogl_setup1.png


2. jogamp-all-platforms.7z をクリックしてダウンロードします。

jogl_setup2.png


3. jogamp-all-platforms.7z を解凍して適切な位置に置いてください。

.7z は高圧縮ファイルアーカイブフォーマットです。
こちらのページからアーカイバをダウンロードできます。
http://sevenzip.sourceforge.jp/

普段からお使いのアーカイバがあれば対応しているかも知れないので調べてみてください。
私はLhaplusで解凍しました。
マイナーなフォーマットで配布するのは少し不親切ですね・・・。


以上でJOGLのダウンロードは終了になります。
続いてJOGLプロジェクトの設定をご覧ください。

JOGLプロジェクトの設定

JOGLプロジェクトを作成して設定をします。


1. File > New > Java Project を選択します。

jogl_setup3.png


2. Project name: にプロジェクト名(ここではHelloJOGL)を入力して Finish ボタンをクリックします。

jogl_setup4.png


3. Package Explorer でプロジェクト名を右クリックして Properties を選択します。

jogl_setup5.png


4. Java Build Pathを選択してLibrariesタブのAdd External JARs...をクリックします。

jogl_setup6.png


5. jogamp-all-platforms/jarのjogl-all.jarとgluegen-rt.jarを選択して開く(O)をクリックします。

※コントロールキーを押しながらクリックすると複数ファイルを選択できます。
jogl_setup7.png


6. Librariesにgluegen-rt.jarとjogl-all.jarが追加されたことを確認してください。

jogl_setup8.png


7. gluegen-rt.jarの左側の三角印をクリックしてNative library location: (None)を選択して右側のEdit...をクリックしてください。

jogl_setup9.png


8. Native Library Folder Configurationダイアログが開いたらExternal Folder...をクリックします。

jogl_setup10.png


9. jogamp-all-platforms/lib/windows-amd64を選択してOKボタンをクリックします。
※32bitWindowsをお使いの場合はwindows-i586を選択してください。

jogl_setup11.png


10. Location path: を確認してOKボタンをクリックしてください。

jogl_setup12.png


11. Native library location: が選択した場所になっているかを確認してください。

jogl_setup13.png


12. jogl-all.jarのNative library locationも同じ様に設定してOKボタンをクリックします。

jogl_setup14.png


以上でJOGLプロジェクトの設定は終了になります。
続いてJOGLアプリケーションの実行をご覧ください。


JOGLアプリケーションの実行

JOGLアプリケーションを実行します。


1. プロジェクトのsrcを右クリックしてNew > Classを選択します。

jogl_setup15.png


2. Name: にMyCanvasと打ち込んでOpenGLのキャンバスクラスを作成するためにFinishボタンをクリックします。

jogl_setup16.png


3. GLCanvasを継承してGLEventListenerを実装してください。

jogl_setup17.png

その際に MyCanvasをマウスオーバーさせて Add unimplemented methods をクリックすると抽象メソッドを自動生成してくれます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.awt.GLCanvas;

public class MyCanvas extends GLCanvas implements GLEventListener {

    @Override
    public void display(GLAutoDrawable arg0) {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void dispose(GLAutoDrawable arg0) {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void init(GLAutoDrawable arg0) {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4) {
        // TODO Auto-generated method stub
        
    }

}




4. コンストラクタとdisplayメソッドを実装します。

  • GLCanvas.addGLEventListener(this)で実装したGLEventListenerを追加します
  • displayメソッドではクリアカラーに赤を設定してクリアします
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    
    import javax.media.opengl.GL;
    import javax.media.opengl.GLAutoDrawable;
    import javax.media.opengl.GLEventListener;
    import javax.media.opengl.awt.GLCanvas;
    
    import static javax.media.opengl.GL.*;
    
    public class MyCanvas extends GLCanvas implements GLEventListener {
        
        public MyCanvas() {
            super();
            addGLEventListener(this);
        }
    
        @Override
        public void display(GLAutoDrawable drawable) {
            GL gl = drawable.getGL();
            gl.glClearColor(1, 0, 0, 1);
            gl.glClear(GL_COLOR_BUFFER_BIT);
        }
    
        @Override
        public void dispose(GLAutoDrawable arg0) {
            // TODO Auto-generated method stub
            
        }
    
        @Override
        public void init(GLAutoDrawable arg0) {
            // TODO Auto-generated method stub
            
        }
    
        @Override
        public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4) {
            // TODO Auto-generated method stub
            
        }
    
    }



5. Main.javaを追加してエントリポイント(mainメソッド)を作成します

  • JFrame.getInsetsメソッドを使ってフレームの中のキャンバスが丁度400x300のサイズになるようにしています
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    import java.awt.Insets;
    
    import javax.swing.JFrame;
    
    public class Main {
    
        public static void main(String [] args) {
            
            JFrame frame = new JFrame("Hello JOGL");
            
            MyCanvas canvas = new MyCanvas();
            frame.add(canvas);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setResizable(false);
            frame.pack();
            
            Insets insets = frame.getInsets();
            int width = 400 + insets.left + insets.right;
            int height = 300 + insets.top + insets.bottom;
            frame.setSize(width, height);
            
            frame.setVisible(true);
            
        }
        
    }



6. プロジェクトのプロパティを開いてRun/Debug Settingsを選択しNew...をクリックします。

jogl_setup18.png


7. Java Applicationを選択してOKボタンをクリックします。

jogl_setup19.png


8. Project: にプロジェクト名を、Main class: にMainを入力してOKボタンをクリックしてください。

jogl_setup20.png


9. jogl_setup21.pngボタンをクリックしてデバッグを開始してください。

赤でクリアされた400x300サイズのキャンバスが表示されれば成功です。
jogl_setup22.png


以上でJOGLアプリケーションの実行は終了になります。


関連ページ


スポンサードリンク


添付ファイル: filejogl_setup22.png 549件 [詳細] filejogl_setup21.png 541件 [詳細] filejogl_setup20.png 564件 [詳細] filejogl_setup19.png 548件 [詳細] filejogl_setup18.png 572件 [詳細] filejogl_setup17.png 632件 [詳細] filejogl_setup16.png 556件 [詳細] filejogl_setup15.png 561件 [詳細] filejogl_setup14.png 601件 [詳細] filejogl_setup13.png 556件 [詳細] filejogl_setup12.png 540件 [詳細] filejogl_setup11.png 551件 [詳細] filejogl_setup10.png 542件 [詳細] filejogl_setup9.png 585件 [詳細] filejogl_setup8.png 590件 [詳細] filejogl_setup7.png 736件 [詳細] filejogl_setup6.png 669件 [詳細] filejogl_setup5.png 592件 [詳細] filejogl_setup4.png 565件 [詳細] filejogl_setup3.png 597件 [詳細] filejogl_setup2.png 608件 [詳細] filejogl_setup1.png 595件 [詳細]
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS