private void testMultiSampleAAImpl( final boolean useFBO, final boolean usePBuffer, final int reqSamples) throws InterruptedException { final GLReadBufferUtil screenshot = new GLReadBufferUtil(true, false); final GLProfile glp = GLProfile.getGL2ES2(); final GLCapabilities caps = new GLCapabilities(glp); final GLCapabilitiesChooser chooser = new MultisampleChooser01(); caps.setAlphaBits(1); caps.setFBO(useFBO); caps.setPBuffer(usePBuffer); if (reqSamples > 0) { caps.setSampleBuffers(true); caps.setNumSamples(reqSamples); } final GLWindow window = GLWindow.create(caps); window.setCapabilitiesChooser(chooser); window.addGLEventListener(new MultisampleDemoES2(reqSamples > 0 ? true : false)); window.addGLEventListener( new GLEventListener() { int displayCount = 0; public void init(final GLAutoDrawable drawable) {} public void dispose(final GLAutoDrawable drawable) {} public void display(final GLAutoDrawable drawable) { snapshot(displayCount++, null, drawable.getGL(), screenshot, TextureIO.PNG, null); } public void reshape( final GLAutoDrawable drawable, final int x, final int y, final int width, final int height) {} }); window.setSize(512, 512); window.setVisible(true); window.requestFocus(); Thread.sleep(durationPerTest); window.destroy(); }