package destr.jogl.main; import javax.media.opengl.GL; import javax.media.opengl.GL2; import javax.media.opengl.GLAutoDrawable; import destr.jogl.buffer.GLColorPointerRGBA; import destr.jogl.buffer.GLVertixPointerXYZ; import destr.jogl.game2d.Game2DCanvas; public class GLPointerTest extends Game2DCanvas{ private static final long serialVersionUID = 5956392369871648818L; public GLPointerTest(int width, int height) { super(width, height); } private GLVertixPointerXYZ shape; private GLColorPointerRGBA color; @Override public void init(GLAutoDrawable drawable){ super.init(drawable); GL gl = drawable.getGL(); color = new GLColorPointerRGBA(gl, new float[]{ 1,0,0,1, 0,1,0,1, 0,0,1,1, 1,1,0,1, }); shape = new GLVertixPointerXYZ(gl, new float[]{ 0,0,0, 1,0,0, 1,1,0, 0,1,0, }); } @Override public void display(GLAutoDrawable drawable) { GL gl = drawable.getGL(); GL2 gl2 = gl.getGL2(); gl2.glClear(GL2.GL_COLOR_BUFFER_BIT); gl2.glLoadIdentity(); gl2.glTranslatef(-1f, 1f, 0); gl2.glScalef(2.0f, -2.0f, 0f); gl2.glScalef(0.25f, 0.25f, 0); shape.bind(gl); color.bind(gl); gl2.glEnableClientState(GL2.GL_VERTEX_ARRAY); gl2.glEnableClientState(GL2.GL_COLOR_ARRAY); gl2.glDrawArrays(GL2.GL_QUADS, 0, 4); gl2.glDisableClientState(GL2.GL_VERTEX_ARRAY); gl2.glDisableClientState(GL2.GL_COLOR_ARRAY); } }