/** * Convenience method for retrieving the Camera set on the current RenderContext. Similar to * ContextManager.getCurrentContext().getCurrentCamera() but with null checks for current context. * * @return the Camera on the current RenderContext. */ public static Camera getCurrentCamera() { if (ContextManager.getCurrentContext() == null) { return null; } return ContextManager.getCurrentContext().getCurrentCamera(); }
public void setClipTestEnabled(final boolean enabled) { final RenderContext context = ContextManager.getCurrentContext(); final RendererRecord record = context.getRendererRecord(); JoglRendererUtil.setClippingEnabled(record, enabled); }
@Override public void setClipTestEnabled(final boolean enabled) { final RenderContext context = ContextManager.getCurrentContext(); final RendererRecord record = context.getRendererRecord(); setClippingEnabled(record, enabled); }
public void pushEmptyClip() { final RenderContext context = ContextManager.getCurrentContext(); final RendererRecord record = context.getRendererRecord(); record.getScissorClips().push(null); JoglRendererUtil.applyScissors(record); }
public void clearClips() { final RenderContext context = ContextManager.getCurrentContext(); final RendererRecord record = context.getRendererRecord(); record.getScissorClips().clear(); LwjglRendererUtil.applyScissors(record); }
public void popClip() { final RenderContext context = ContextManager.getCurrentContext(); final RendererRecord record = context.getRendererRecord(); record.getScissorClips().pop(); LwjglRendererUtil.applyScissors(record); }
@Override public void pushEmptyClip() { final RenderContext context = ContextManager.getCurrentContext(); final RendererRecord record = context.getRendererRecord(); record.getScissorClips().push(null); applyScissors(record); }
public void pushClip(final ReadOnlyRectangle2 rectangle) { final RenderContext context = ContextManager.getCurrentContext(); final RendererRecord record = context.getRendererRecord(); record.getScissorClips().push(rectangle); JoglRendererUtil.applyScissors(record); }
public void unbindVBO() { final RenderContext context = ContextManager.getCurrentContext(); final RendererRecord rendRecord = context.getRendererRecord(); LwjglRendererUtil.setBoundVBO(rendRecord, 0); LwjglRendererUtil.setBoundElementVBO(rendRecord, 0); }
public void unbindVBO() { final RenderContext context = ContextManager.getCurrentContext(); final RendererRecord rendRecord = context.getRendererRecord(); JoglRendererUtil.setBoundVBO(rendRecord, 0); JoglRendererUtil.setBoundElementVBO(rendRecord, 0); }
public void setProjectionMatrix(final FloatBuffer matrix) { final RendererRecord matRecord = ContextManager.getCurrentContext().getRendererRecord(); LwjglRendererUtil.switchMode(matRecord, GL11.GL_PROJECTION); loadMatrix(matrix); }
public void undoTransforms(final ReadOnlyTransform transform) { final RendererRecord matRecord = ContextManager.getCurrentContext().getRendererRecord(); LwjglRendererUtil.switchMode(matRecord, GL11.GL_MODELVIEW); GL11.glPopMatrix(); }
public MaterialTechnique chooseTechnique(final Mesh mesh) { // find the local or inherited material for the given mesh final RenderContext context = ContextManager.getCurrentContext(); final RenderMaterial enforced = context.getEnforcedMaterial(); RenderMaterial material = enforced != null ? enforced : mesh.getWorldRenderMaterial(); // if we have no material, use any set default if (material == null) { material = _defaultMaterial; } // look for the technique to use in the material return chooseTechnique(mesh, material); }
public void undoTransforms(final ReadOnlyTransform transform) { final JoglRendererRecord matRecord = (JoglRendererRecord) ContextManager.getCurrentContext() .getRendererRecord(); JoglRendererUtil.switchMode(matRecord, GLMatrixFunc.GL_MODELVIEW); matRecord.getMatrixBackend().popMatrix(); }
/** if enabled, set the states for this pass and then render. */ public final void renderPass(final Renderer r) { if (!_enabled) { return; } _context = ContextManager.getCurrentContext(); _context.pushEnforcedStates(); _context.enforceStates(_passStates); doRender(r); _context.popEnforcedStates(); _context = null; }
/** if enabled, set the states for this pass and then render. */ public final void renderPass(final TextureRenderer r, final int clear, final List<Texture> texs) { if (!_enabled) { return; } _context = ContextManager.getCurrentContext(); _context.pushEnforcedStates(); _context.enforceStates(_passStates); doRender(r, clear, texs); _context.popEnforcedStates(); _context = null; }
private FloatBuffer getMatrix(final int matrixType, final FloatBuffer store) { FloatBuffer result = store; if (result.remaining() < 16) { result = BufferUtils.createFloatBuffer(16); } final JoglRendererRecord matRecord = (JoglRendererRecord) ContextManager.getCurrentContext() .getRendererRecord(); matRecord.getMatrixBackend().getMatrix(matrixType, store); // GLContext.getCurrentGL().glGetFloatv(matrixType, store); return result; }
@Override public boolean render(final Renderer renderer) { // Execute renderQueue item GameTaskQueueManager.getManager(ContextManager.getCurrentContext()).getQueue(GameTaskQueue.RENDER) .execute(renderer); // Clean up card garbage such as textures, vbos, etc. ContextGarbageCollector.doRuntimeCleanup(renderer); _root.onDraw(renderer); return true; } }
public void setupColorDataVBO(final FloatBufferData data) { final RenderContext context = ContextManager.getCurrentContext(); final RendererRecord rendRecord = context.getRendererRecord(); final int vboID = setupVBO(data, context); if (vboID != 0) { GL11.glEnableClientState(GL11.GL_COLOR_ARRAY); LwjglRendererUtil.setBoundVBO(rendRecord, vboID); GL11.glColorPointer(data.getValuesPerTuple(), GL11.GL_FLOAT, 0, 0); } else { GL11.glDisableClientState(GL11.GL_COLOR_ARRAY); } }
public void render(final Spatial spatial, final Renderer renderer) { // do transforms final boolean transformed = renderer.doTransforms(spatial.getWorldTransform()); // render display list. renderer.renderDisplayList(_id.getId()); // Our states are in an unknown state at this point, so invalidate tracking. ContextManager.getCurrentContext().invalidateStates(); // undo transforms if (transformed) { renderer.undoTransforms(spatial.getWorldTransform()); } }