@Override public void doRender(final Renderer r) { for (int i = 0, sSize = _spatials.size(); i < sSize; i++) { final Spatial s = _spatials.get(i); r.draw(s); } r.renderBuckets(); }
@Override public void draw(final Renderer r) { if (!r.isProcessingQueue()) { if (r.checkAndAdd(this)) { return; } } r.draw((Renderable) this); }
@Override protected void clearBuffers(final int clear) { GL11.glDisable(GL11.GL_SCISSOR_TEST); _parentRenderer.clearBuffers(clear); }
protected void switchCameraOut() { _parentRenderer.flushFrame(false); // back to the non rtt settings _parentRenderer.getQueue().popBuckets(); }
@Override public void draw(final Renderer r) { if (_children == null) { return; } final RenderContext context = ContextManager.getCurrentContext(); r.getQueue().pushBuckets(); for (final PassNodeState pass : _passNodeStates) { if (!pass.isEnabled()) { continue; } pass.applyPassNodeStates(context); Spatial child; for (int i = 0, cSize = _children.size(); i < cSize; i++) { child = _children.get(i); if (child != null) { child.onDraw(r); } } r.renderBuckets(); context.popEnforcedStates(); } r.getQueue().popBuckets(); }
final int id = renderer.startDisplayList(); renderer.getQueue().pushBuckets(); renderer.renderBuckets(); renderer.getQueue().popBuckets(); renderer.endDisplayList();
public void render(final Renderer renderer, final Camera camera, final List<Spatial> spatials, final Spatial spatial, final EnumMap<StateType, RenderState> enforcedStates) { if (camera != Camera.getCurrentCamera()) { camera.update(); } camera.apply(renderer); final RenderContext context = ContextManager.getCurrentContext(); context.enforceStates(enforcedStates); if (spatial != null) { spatial.onDraw(renderer); } else { for (final Spatial spat : spatials) { spat.onDraw(renderer); } } renderer.renderBuckets(); context.clearEnforcedStates(); }
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(); }
@Override public void render(final Renderer renderer, final InteractManager manager) { final Spatial spat = manager.getSpatialTarget(); if (spat == null) { return; } _handle.setTranslation(spat.getWorldTranslation()); _handle.updateGeometricState(0); renderer.draw(_handle); }
UIHud._logger.logp(Level.SEVERE, getClass().getName(), "draw(Renderer)", "Exception", e); } finally { r.getScissorUtils().clearClips(); r.renderBuckets(); cam.apply(r);
@Override protected void deactivate() { if (_active == 1) { final ReadOnlyColorRGBA bgColor = _parentRenderer.getBackgroundColor(); GL11.glClearColor(bgColor.getRed(), bgColor.getGreen(), bgColor.getBlue(), bgColor.getAlpha()); EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, 0); ContextManager.getCurrentContext().popEnforcedStates(); if (_neededClip) { _parentRenderer.popClip(); } } _active--; }
/** * <code>draw</code> calls the onDraw method for each child maintained by this node. * * @see com.ardor3d.scenegraph.Spatial#draw(com.ardor3d.renderer.Renderer) * @param r * the renderer to draw to. */ @Override public void draw(final Renderer r) { final RenderDelegate delegate = getCurrentRenderDelegate(); if (delegate == null) { Spatial child; for (int i = getNumberOfChildren() - 1; i >= 0; i--) { child = _children.get(i); if (child != null) { child.onDraw(r); } } } else { // Queue as needed if (!r.isProcessingQueue()) { if (r.checkAndAdd(this)) { return; } } delegate.render(this, r); } }
public static TextureRenderer fetch(final int width, final int height, final Renderer renderer) { for (final Iterator<TextureRenderer> it = INSTANCE.renderers.iterator(); it.hasNext();) { final TextureRenderer texRend = it.next(); if (texRend.getWidth() == width && texRend.getHeight() == height) { it.remove(); return texRend; } } // none found, make one return renderer.createTextureRenderer(width, height, 0, 0); }
_renderer.clearBuffers(Renderer.BUFFER_COLOR | Renderer.BUFFER_DEPTH); _renderer.flushFrame(false);
@Override public void deactivate() { if (_active == 1) { final ReadOnlyColorRGBA bgColor = _parentRenderer.getBackgroundColor(); GL11C.glClearColor(bgColor.getRed(), bgColor.getGreen(), bgColor.getBlue(), bgColor.getAlpha()); GL30C.glBindFramebuffer(GL30C.GL_FRAMEBUFFER, 0); ContextManager.getCurrentContext().popEnforcedStates(); ContextManager.getCurrentContext().popEnforcedMaterial(); if (_neededClip) { _parentRenderer.getScissorUtils().popClip(); } } _active--; }
_canvasRenderer.getRenderer().getTextureUtils().deleteTexture(_fboTexture); _rtt = _canvasRenderer.getRenderer().createTextureRenderer(width, height, _settings.getDepthBits(), _settings.getSamples());
protected void switchCameraIn(final int clear) { // grab non-rtt settings _oldCamera = Camera.getCurrentCamera(); // swap to rtt settings _parentRenderer.getQueue().pushBuckets(); // clear the scene if (clear != 0) { clearBuffers(clear); } getCamera().apply(_parentRenderer); }
public static void drawBuffer(final TextureStoreFormat rttFormat, final int location, final Renderer r, final double size) { final Camera cam = Camera.getCurrentCamera(); r.flushGraphics(); double locationX = cam.getWidth(), locationY = cam.getHeight(); bQuad.resize(size, (cam.getHeight() / (double) cam.getWidth()) * size); bufTexRend = r.createTextureRenderer(width, height, 0, 0); bufTexRend.setupTexture(bufTexture); r.flushGraphics();
/** * Handle detecting and scheduling cleanup of OpenGL assets. This method will place delete calls on the task queue * of appropriate RenderContexts when an asset such as a Texture is determined to no longer be reachable by Java. * * @param renderer * an optional Renderer to use for immediate cleanup when the asset is owned by the current context. In * general this is best used in single context applications, and null is a perfectly acceptable value. */ public static void doRuntimeCleanup(final Renderer renderer) { TextureManager.cleanExpiredTextures(renderer.getTextureUtils(), null); AbstractBufferData.cleanExpiredVBOs(renderer.getShaderUtils()); }
public Void call() throws Exception { getRenderer().getTextureUtils().deleteTextureIds(idMap.get(contextRef)); return null; } });