import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.media.opengl.GL2; import javax.media.opengl.GLAutoDrawable; import javax.media.opengl.awt.GLCanvas; import javax.media.opengl.glu.GLU; import javax.media.opengl.GLEventListener; public class Renderer implements GLEventListener { public static void main(String[] args) { Frame frame = new Frame("JOGL HelloWorld"); GLCanvas canvas = new GLCanvas(); canvas.addGLEventListener(new Renderer()); frame.add(canvas); frame.setSize(300, 300); frame.setVisible(true); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public void init(GLAutoDrawable drawable) { } public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) { } public void display(GLAutoDrawable drawable) { GL2 gl = drawable.getGL().getGL2(); GLU glu = GLU.createGLU(gl); gl.glClear(GL2.GL_DEPTH_BUFFER_BIT); gl.glEnable(GL2.GL_DEPTH_TEST); gl.glMatrixMode(GL2.GL_MODELVIEW); gl.glLoadIdentity(); glu.gluLookAt(0, 0, 0, 0, 0, -100, 0, 1, 0); //gl.glTranslated(0.2, 0.2, 0.2); //gl.glScaled(1, 2, 1); //gl.glRotated(20, 0, 1, 0); gl.glMatrixMode(GL2.GL_PROJECTION); gl.glLoadIdentity(); //gl.glOrtho(-1, 1, -1, 1, 5, 11); gl.glFrustum(-1, 1, -1, 1, 0.1, 0.6); //glu.gluPerspective(20, 1, 2, -2); gl.glBegin(GL2.GL_QUADS); // of the colour cube // Top-face gl.glColor3f(0.0f, 1.0f, 0.0f); // green gl.glVertex3f(0.5f, 0.5f, -0.5f); gl.glVertex3f(-0.5f, 0.5f, -0.5f); gl.glVertex3f(-0.5f, 0.5f, 0.5f); gl.glVertex3f(0.5f, 0.5f, 0.5f); // Bottom-face gl.glColor3f(1.0f, 0.5f, 0.0f); // orange gl.glVertex3f(0.5f, -0.5f, 0.5f); gl.glVertex3f(-0.5f, -0.5f, 0.5f); gl.glVertex3f(-0.5f, -0.5f, -0.5f); gl.glVertex3f(0.5f, -0.5f, -0.5f); // Front-face gl.glColor3f(1.0f, 0.0f, 0.0f); // red gl.glVertex3f(0.5f, 0.5f, 0.5f); gl.glVertex3f(-0.5f, 0.5f, 0.5f); gl.glVertex3f(-0.5f, -0.5f, 0.5f); gl.glVertex3f(0.5f, -0.5f, 0.5f); // Back-face gl.glColor3f(1.0f, 1.0f, 0.0f); // yellow gl.glVertex3f(0.5f, -0.5f, -0.5f); gl.glVertex3f(-0.5f, -0.5f, -0.5f); gl.glVertex3f(-0.5f, 0.5f, -0.5f); gl.glVertex3f(0.5f, 0.5f, -0.5f); // Left-face gl.glColor3f(0.0f, 0.0f, 1.0f); // blue gl.glVertex3f(-0.5f, 0.5f, 0.5f); gl.glVertex3f(-0.5f, 0.5f, -0.5f); gl.glVertex3f(-0.5f, -0.5f, -0.5f); gl.glVertex3f(-0.5f, -0.5f, 0.5f); // Right-face gl.glColor3f(1.0f, 0.0f, 1.0f); // magenta gl.glVertex3f(0.5f, 0.5f, -0.5f); gl.glVertex3f(0.5f, 0.5f, 0.5f); gl.glVertex3f(0.5f, -0.5f, 0.5f); gl.glVertex3f(0.5f, -0.5f, -0.5f); gl.glEnd(); // of the colour cube } public void dispose(GLAutoDrawable drawable) { } }