@Override public void renderBuckets(final boolean doSort, final boolean doClear) { _processingQueue = true; if (doSort && doClear) { _queue.renderBuckets(this); } else { if (doSort) { _queue.sortBuckets(); } _queue.renderOnly(this); if (doClear) { _queue.clearBuckets(); } } _processingQueue = false; }
public void setupBuckets(final RenderBucketType[] renderBucketTypes, final RenderBucket[] buckets) { if (renderBucketTypes.length != buckets.length) { throw new Ardor3dException("Can't setup buckets, RenderBucketType and RenderBucket counts don't match."); } removeRenderBuckets(); for (int i = 0; i < renderBucketTypes.length; i++) { setRenderBucket(renderBucketTypes[i], buckets[i]); } }
@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(); }
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); }
protected void switchCameraOut() { _parentRenderer.flushFrame(false); // back to the non rtt settings _parentRenderer.getQueue().popBuckets(); }
public void addToQueue(final Spatial spatial, final RenderBucketType type) { if (type == RenderBucketType.Inherit || type == RenderBucketType.Skip) { throw new Ardor3dException("Can't add spatial to bucket of type: " + type); } if (Constants.enableInstancedGeometrySupport && prepareForInstancing(spatial)) { return; } final RenderBucket renderBucket = getRenderBucket(type); if (renderBucket != null) { renderBucket.add(spatial); } else { throw new Ardor3dException("No bucket exists of type: " + type); } }
@Override public boolean checkAndAdd(final Spatial s) { final RenderBucketType rqMode = s.getSceneHints().getRenderBucketType(); if (rqMode != RenderBucketType.Skip) { getQueue().addToQueue(s, rqMode); return true; } return false; }
/** * clear the render queue */ public void clearQueue() { _queue.clearBuckets(); }
public void removeFromQueue(final Spatial spatial, final RenderBucketType type) { if (type == RenderBucketType.Inherit || type == RenderBucketType.Skip) { throw new Ardor3dException("Can't remove spatial from bucket of type: " + type); } final RenderBucket renderBucket = getRenderBucket(type); if (renderBucket != null) { renderBucket.remove(spatial); } else { throw new Ardor3dException("No bucket exists of type: " + type); } }
@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(); }
protected void switchCameraIn(final int clear) { // Note: no need for storing and replacing old camera since pbuffer is a separate context. // swap to rtt settings _parentRenderer.getQueue().pushBuckets(); // clear the scene if (clear != 0) { clearBuffers(clear); } getCamera().update(); getCamera().apply(_parentRenderer); }
protected void switchCameraOut() { _parentRenderer.flushFrame(false); // reset previous camera if (_oldCamera != null) { _oldCamera.apply(_parentRenderer); } // back to the non rtt settings _parentRenderer.getQueue().popBuckets(); }
public void addToQueue(final Spatial spatial, final RenderBucketType type) { if (type == RenderBucketType.Inherit || type == RenderBucketType.Skip) { throw new Ardor3dException("Can't add spatial to bucket of type: " + type); } if (Constants.enableInstancedGeometrySupport && prepareForInstancing(spatial)) { return; } final RenderBucket renderBucket = getRenderBucket(type); if (renderBucket != null) { renderBucket.add(spatial); } else { throw new Ardor3dException("No bucket exists of type: " + type); } }
public boolean checkAndAdd(final Spatial s) { final RenderBucketType rqMode = s.getSceneHints().getRenderBucketType(); if (rqMode != RenderBucketType.Skip) { getQueue().addToQueue(s, rqMode); return true; } return false; }
/** * clear the render queue */ public void clearQueue() { _queue.clearBuckets(); }
public void removeFromQueue(final Spatial spatial, final RenderBucketType type) { if (type == RenderBucketType.Inherit || type == RenderBucketType.Skip) { throw new Ardor3dException("Can't remove spatial from bucket of type: " + type); } final RenderBucket renderBucket = getRenderBucket(type); if (renderBucket != null) { renderBucket.remove(spatial); } else { throw new Ardor3dException("No bucket exists of type: " + type); } }
@Override public void renderBuckets(final boolean doSort, final boolean doClear) { _processingQueue = true; if (doSort && doClear) { _queue.renderBuckets(this); } else { if (doSort) { _queue.sortBuckets(); } _queue.renderOnly(this); if (doClear) { _queue.clearBuckets(); } } _processingQueue = false; }
r.getQueue().pushBuckets(); r.getQueue().popBuckets();
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().update(); getCamera().apply(_parentRenderer); }
protected void switchCameraOut() { _parentRenderer.flushFrame(false); // reset previous camera _oldCamera.update(); _oldCamera.apply(_parentRenderer); // back to the non rtt settings _parentRenderer.getQueue().popBuckets(); }