package com.gmail.bernabe.laurent.j2se.tet_jogl; import javax.media.opengl.GL2; import javax.media.opengl.GLAutoDrawable; import javax.media.opengl.GLEventListener; import javax.media.opengl.awt.GLCanvas; import javax.media.opengl.glu.GLU; import javax.media.opengl.glu.gl2.GLUgl2; public class MyGlComponent extends GLCanvas implements GLEventListener { public MyGlComponent(){ addGLEventListener(this); } @Override public void init(GLAutoDrawable drawable) { GL2 gl = drawable.getGL().getGL2(); gl.glEnable(GL2.GL_DEPTH_TEST); gl.glClearDepth(1.0); glu = GLUgl2.createGLU(); } @Override public void dispose(GLAutoDrawable drawable) { } @Override public void display(GLAutoDrawable drawable) { GL2 gl = drawable.getGL().getGL2(); gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT); gl.glLoadIdentity(); glu.gluLookAt( 0f, 0f, 6f, 0f, 0f, 0f, 0f, 1f, 0f); GLCube.draw(gl); gl.glRotatef(currentAngle, 0f, 1f, 0f); currentAngle += 0.15f; currentAngle %= 360f; } @Override 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(); glu.gluPerspective(60f, ((float) width)/height, 0.1f, 10f); gl.glMatrixMode(GL2.GL_MODELVIEW); } private GLU glu = new GLUgl2(); private static final long serialVersionUID = 3439571444867931066L; private float currentAngle = 0f; }