import java.lang.*; import java.util.*; import java.nio.*; import javax.media.opengl.*; import javax.media.nativewindow.*; import com.jogamp.opengl.util.*; import com.jogamp.opengl.util.glsl.*; import com.jogamp.newt.*; import com.jogamp.newt.event.*; import com.jogamp.newt.opengl.*; public class Foo implements WindowListener,GLEventListener { public void windowRepaint(WindowUpdateEvent e) {} public void windowResized(WindowEvent e) {} public void windowMoved(WindowEvent e) {} public void windowGainedFocus(WindowEvent e) {} public void windowLostFocus(WindowEvent e) {} public void windowDestroyed(WindowEvent e) {} public void windowDestroyNotify(WindowEvent e) { System.exit(0); } public void init(GLAutoDrawable drawable) { GL2 gl = drawable.getGL().getGL2(); gl.glClearColor(1,0,0,1); gl.glEnable(GL2.GL_DEPTH_TEST); } public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) {} public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) { GL2 gl = drawable.getGL().getGL2(); gl.glViewport(0,0,width,height); gl.glMatrixMode(GL2.GL_PROJECTION); gl.glLoadIdentity(); gl.glOrtho(0,width,height,0,-10,2000); gl.glMatrixMode(GL2.GL_MODELVIEW); gl.glLoadIdentity(); } public void dispose(GLAutoDrawable drawable) {} public void display(GLAutoDrawable drawable) { GL2 gl = drawable.getGL().getGL2(); gl.glClear((gl.GL_COLOR_BUFFER_BIT | gl.GL_DEPTH_BUFFER_BIT)); gl.glLoadIdentity(); gl.glTranslatef(0.0f,0.0f,0.0f); gl.glColor4f(0.0f,1.0f,1.0f,1.0f); gl.glBegin(gl.GL_TRIANGLES); gl.glVertex3f( 10.0f, 50.0f, 0.0f); gl.glVertex3f(150.0f,100.0f, 0.0f); gl.glVertex3f( 25.0f,150.0f, 0.0f); gl.glEnd(); System.out.println("Foo.display"); } public static void main(String[] args) { GLProfile.initSingleton(); GLWindow window = GLWindow.create(new GLCapabilities(GLProfile.getDefault())); window.setSize(320,240); window.setVisible(true); window.setTitle("GLWindow Test"); Foo foo = new Foo(); window.addWindowListener(foo); window.addGLEventListener(foo); FPSAnimator animator = new FPSAnimator(window,60); animator.start(); } }