日食

时间:2015-11-24 17:40:10

标签: eclipse jogl

 import java.awt.Button;
 import java.awt.Frame;
 import java.awt.Menu;
 import java.awt.MenuBar;
 import java.awt.MenuItem;
 import java.awt.Panel;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;

 import javax.media.opengl.GL;
 import javax.media.opengl.GL2;
 import javax.media.opengl.GLAutoDrawable;
 import javax.media.opengl.GLCanvas;
 import javax.media.opengl.GLCapabilities;
 import javax.media.opengl.GLEventListener;
 import javax.media.opengl.GLProfile;
 import com.jogamp.opengl.util.FPSAnimator;


 public void init (GLAutoDrawable drawable) {
   GL2 gl = drawable.getGL().getGL2();
   gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); //black
   gl.glEnable(GL.GL_DEPTH_TEST);
   gl.glEnable(GL.GL_CULL_FACE);
   gl.glFrontFace(GL.GL_CCW);
   gl.glCullFace(GL.GL_BACK);
   gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL2.GL_LINE);
   scene = new A1E5Scene();
 }

/* Called to indicate the drawing surface has been moved and/or resized  */
public void reshape (GLAutoDrawable drawable, int x, int y, int width, int height) {
GL2 gl = drawable.getGL().getGL2();

float fAspect=(float) width/height;
float fovy=60.0f;

gl.glViewport(0, 0, width, height);
gl.glMatrixMode(GL2.GL_PROJECTION);
gl.glLoadIdentity();

float top=(float) Math.tan(Math.toRadians(fovy*0.5))*NEAR_CLIP;
float bottom=-top;
float left=fAspect*bottom;
float right=fAspect*top;

gl.glFrustum(left, right, bottom, top, NEAR_CLIP, FAR_CLIP);
gl.glMatrixMode(GL2.GL_MODELVIEW);
}

/* draw */
public void display(GLAutoDrawable drawable) {
GL2 gl = drawable.getGL().getGL2();
scene.update();
scene.render(gl);
}

public void dispose(GLAutoDrawable drawable) {
}

我目前正试图在eclipse上运行JOGL,但是它发现了这部分代码的问题。它抛出的错误与getGL2()有关,似乎可能缺少一个库,但我不确定哪一个。

这些是我用过的图书馆:

/usr/share/java/jogl.jar

/usr/share/java/jogl2.jar

/usr/share/java/gluegen-rt.jar

/usr/share/java/gluegen2-rt.jar

/usr/share/java/jogl-1.1.1+dak1.jar

/usr/share/java/jogl-all.jar

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

你将JOGL 1.1.1和JOGL 2混合在一起,这是完全错误的。请查看我们的wiki以选择正确的JAR: http://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE