import java.io.IOException;

import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLProfile;
import com.jogamp.newt.opengl.GLWindow;

import javax.media.opengl.GLEventListener;
import javax.media.opengl.GLAutoDrawable;
import com.jogamp.opengl.util.Animator;

import com.jogamp.newt.event.WindowAdapter;
import com.jogamp.newt.event.WindowEvent;


public class GL4ES3bug implements GLEventListener{

	@Override
	public void init(GLAutoDrawable drawable) {
        }
	
	@Override
	public void display(GLAutoDrawable drawable) {
	}

	@Override
	public void dispose(GLAutoDrawable drawable) {
	}

	@Override
	public void reshape(GLAutoDrawable drawable, int x, int y, int width,
			int height) {
        }
	public static void main(String args[]){
		final GLProfile glp = GLProfile.get(GLProfile.GL4ES3);
		final GLCapabilities caps = new GLCapabilities(glp);
		caps.setSampleBuffers(true);
		caps.setNumSamples(4);
		final GLWindow glWindow = GLWindow.create(caps);


                final Animator animator = new Animator(glWindow);
                animator.setUpdateFPSFrames(1, null);

                glWindow.addWindowListener(new WindowAdapter() {
            @Override
            public void windowDestroyNotify(WindowEvent arg0) {
                new Thread() {
                    @Override
                    public void run() {
                        if (animator.isStarted())
                            animator.stop();
                        System.exit(0);
                    }
                }.start();
            }
        });

                glWindow.addGLEventListener(new TextRendering());
                glWindow.setSize(800, 400);
                glWindow.setVisible(true);

	}
}
