2015-09-06 48 views
1

簡單的例子代碼CGUsingJava2d3d,我有中的java.library.path沒有JOGL在Eclipse

GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(cap); 

問題我補充jar文件jogl-alljogl_old和論證-Djava.library.path=----與JOGL的dll文件鏈接。

而且,這些文件來自

http://jogamp.org/wiki/index.php/Downloading_and_installing_JOGL

(DLL文件從\ jogamp,所有的平臺\ LIB \ Windows的AMD64)

這是源代碼....只是在案件。

package chapter1; 

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import net.java.games.jogl.*; 

public class JOGLDemo { 

    public static void main(String[] args) { 
    Frame frame = new Frame("JOGL Demo"); 
    GLCapabilities cap = new GLCapabilities(); 
    GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(cap); 
    canvas.setSize(300, 300); 
    canvas.addGLEventListener(new Renderer()); 
    frame.add(canvas); 
    frame.pack(); 
    frame.addWindowListener(new WindowAdapter() { 
     public void windowClosing(WindowEvent e) { 
     System.exit(0); 
     } 
    }); 
    frame.show(); 
    } 

    static class Renderer implements GLEventListener { 
    private GL gl; 
    private GLU glu; 
    private GLDrawable gldrawable; 

    public void init(GLDrawable drawable) { 
     gl = drawable.getGL(); 
     glu = drawable.getGLU(); 
     this.gldrawable = drawable; 
     gl.glMatrixMode(GL.GL_PROJECTION); 
     gl.glLoadIdentity(); 
     glu.gluOrtho2D(-1.2, 1.2, -1.2, 1.2); 
     gl.glClearColor(1.0f, 1.0f, 1.0f, 0.0f); 
    }  

    public void display(GLDrawable drawable) { 
     int i; 
     int n = 80; 
     float a = (float)(2*3.1415926535/n); 
     float x; 
     float y; 

     gl.glClear(GL.GL_COLOR_BUFFER_BIT); 
     gl.glColor3f(1.0f,0,0); 
     gl.glBegin(GL.GL_LINE_LOOP); 
     for (i = 0; i < n; i++) { 
     x = (float)Math.cos(i*a); 
     y = (float)Math.sin(i*a); 
     gl.glVertex2f(x, y); 
     } 
     gl.glEnd(); 
     gl.glFlush(); 
    } 

    public void reshape(GLDrawable drawable, int x, int y, int width, 
     int height) {} 
    public void displayChanged(GLDrawable drawable, boolean modeChanged, 
     boolean deviceChanged) {} 
    } 
} 

請告訴我,我必須做更多的檢查或財產以後..

有一個好的一天。謝謝。

+1

您必須添加'jogl-all.jar'和'gluegen-rt.jar'及其相應的本機,即用於Windows x64'jogl-all-natives-windows-amd64.jar'和'gluegen-rt -natives-windows-amd64.jar',它也可以工作,如果你不明確地添加本地文件,但是你只是把它們放在一起,並與前兩個列出的jar文件一起。 Ps:你不應該使用已棄用的OpenGL,這裏是一個簡單的現代[Hello Triangle](https://jogamp.org/wiki/index.php/Jogl_Tutorial#Hello_Triangle) – elect

回答

1

你的代碼沒有機會工作,它使用JOGL 1的舊版本。請改用com.jogamp.opengl並查看我們的文檔。

我同意elect的意見。

相關問題