public void display(GLAutoDrawable drawable) {
        if (!animator.isAnimating()) {
            return;
        }
        final GL gl = drawable.getGL();

        // Clear screen.
        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);

        // Set camera.
        setCamera(gl, glu, 100);

        setLight(gl);
        
        // Write triangle.
     /*   gl.glColor3f(0.9f, 0.5f, 0.2f);
        gl.glBegin(GL.GL_TRIANGLE_FAN);
        gl.glVertex3f(-20, -20, 0);
        gl.glVertex3f(+20, -20, 0);
        gl.glVertex3f(0, 20, 0);
        gl.glEnd();
        */
        SubdivisionSurface subface = new SubdivisionSurface(40, 1);
        subface.Draw(gl);
        
        Bubble bubble = new Bubble(subface.exportToTraigles());
        bubble.setCentral(subface.getCentralPoint());
        bubble.setRadius(subface.getRadius());
        //TODO: bubble draw
    }