@Override
public void init( GLAutoDrawable d ) {
d.setGL( new DebugGL( d.getGL() ) );
GL gl = d.getGL();
gl.glClearColor( 0.7f, 0.7f, 1f, 0 );
float[] lightAmbient = { 0.4f, 0.4f, 0.4f, 1.0f };
float[] lightDiffuse = { 0.8f, 0.8f, 0.8f, 1.0f };
float[] lightSpecular = { 1.0f, 1.0f, 1.0f, 1.0f };
float[] lightPosition = { 0.0f, 0.0f, 10.0f, 1.0f };
gl.glLightfv( GL.GL_LIGHT0, GL.GL_AMBIENT, lightAmbient, 0 );
gl.glLightfv( GL.GL_LIGHT0, GL.GL_DIFFUSE, lightDiffuse, 0 );
gl.glLightfv( GL.GL_LIGHT0, GL.GL_SPECULAR, lightSpecular, 0 );
gl.glLightfv( GL.GL_LIGHT0, GL.GL_POSITION, lightPosition, 0 );
gl.glEnable( GL.GL_DEPTH_TEST );
gl.glEnable( GL.GL_LIGHT0 );
gl.glEnable( GL.GL_LIGHTING );
gl.glEnable( GL.GL_BLEND );
gl.glBlendFunc( GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA );
gl.glMatrixMode( GL.GL_MODELVIEW );
gl.glLoadIdentity();
gl.glEnableClientState( GL.GL_NORMAL_ARRAY );
gl.glEnableClientState( GL.GL_VERTEX_ARRAY );
}