public void draw(final CountDownLatch latch) { if (!_inited) { init(); } if (!isDisposed() && isVisible()) { // draw our scene to FBO checkRTT(); _rtt.setBackgroundColor(_canvasRenderer.getRenderer().getBackgroundColor()); _rtt.render(_canvasRenderer.getScene(), _texList, Renderer.BUFFER_COLOR_AND_DEPTH); // now render our quad final Renderer renderer = _canvasRenderer.getRenderer(); // clear color buffer renderer.clearBuffers(Renderer.BUFFER_COLOR); // draw ortho quad, textured with our actual scene _quad.draw(renderer); // flush render buckets renderer.flushFrame(false); // Clean up card garbage such as textures, vbos, etc. ContextGarbageCollector.doRuntimeCleanup(renderer); // swap our swt managed back buffer swapBuffers(); } latch.countDown(); }