*/
	public void display(GLAutoDrawable drawable) {

		double frameZ = 50;
		double random = Math.random();
		Move(rayTracer.scene);
		
		System.gc();
		long  startTime = System.currentTimeMillis();
		for (int j = 0; j < height; j++)
		for (int i = 0; i < width; i++) {
				double x = (eyePt.z - frameZ) * (i - width / 2) / eyePt.z / 2 ;
				double y = (eyePt.z - frameZ) * (-j + height / 2) / eyePt.z / 2;
				Vector3D framePt = new Vector3D(x, y, frameZ);
				Vector3D direction = Vector3D.Substract(framePt, eyePt);
				Color color = rayTracer.Trace(framePt, Vector3D.Normalize(direction), 0.1, 2000, random, 1);
				
				glImage.setPixel(i, j, color.ToColor255());
				
		}
		System.gc();
		long  endTime = System.currentTimeMillis();
		long duration = (endTime - startTime);
		System.out.println("duration = " + duration);
		
		ByteBuffer colorValues = glImage.getBuffer();
		colorValues.rewind();

		GL gl = drawable.getGL();
		gl.glClear(GL.GL_COLOR_BUFFER_BIT);
		gl.glRasterPos2i(0, 0);
		gl.glDrawPixels(width, height, GL.GL_RGB, GL.GL_UNSIGNED_BYTE,
				colorValues);
		gl.glFlush();
	}