2015-09-06 44 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的意见。

相关问题