private void init( GL gl ) {
float[] cc = JOGLUtils.convertColorFloats( request.getBackgroundColor() );
gl.glClearColor( cc[0], cc[1], cc[2], 0.0f );
SunInfo pos = request.getSceneParameters().getSunPosition();
float[] light_position = pos.getEucledianPosition( sceneLatitude );
Vectors3f.scale( -1, light_position );
float[] ambientAndDiffuse = pos.calculateSunlight( sceneLatitude );
gl.glLightfv( GL.GL_LIGHT0, GL.GL_POSITION, new float[] { light_position[0], light_position[1],
light_position[2], 0 }, 0 );
gl.glLightfv( GL.GL_LIGHT0, GL.GL_AMBIENT, new float[] { ambientAndDiffuse[0], ambientAndDiffuse[1],
ambientAndDiffuse[2], 1 }, 0 );
gl.glMaterialfv( GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT, new float[] { ambientAndDiffuse[0], ambientAndDiffuse[1],
ambientAndDiffuse[2], 1 }, 0 );
gl.glLightfv( GL.GL_LIGHT0, GL.GL_DIFFUSE, new float[] { ambientAndDiffuse[0], ambientAndDiffuse[1],
ambientAndDiffuse[2], 1 }, 0 );
}