public void render(Renderer renderer) { // Find renderables and sort them by depth List<Renderable> renderables = new ArrayList<>(); for (GameObject actor : actors) { if (actor instanceof Renderable) { renderables.add((Renderable) actor); } } renderables.sort((o1, o2) -> (int) (Integer.MAX_VALUE * (o2.getDepth() - o1.getDepth()))); // Apply camera renderer.pushMatrix(); if (camera != null) { camera.applyTransforms(renderer); } // render objects for (Renderable renderable : renderables) { renderable.render(renderer); } renderer.popMatrix(); }
public static Sampleable sampleable(Renderable base) { BoundingBox bb = base.getBoundingBox(); OverlayRaster or = new OverlayRaster(bb.intRight() + 1, bb.intBottom() + 1); base.render(or); return new AbstractSampleable(bb) { @Override public Color getColorAt(Point<Double> point) { return or.getColor(point.toIntegerPoint()); } }; }
protected void doRender(DrawContext dc, Iterable<? extends Renderable> renderables) { for (Renderable renderable : renderables) { try { // If the caller has specified their own Iterable, // then we cannot make any guarantees about its contents. if (renderable != null) renderable.render(dc); } catch (Exception e) { String msg = Logging.getMessage("generic.ExceptionWhileRenderingRenderable"); Logging.logger().log(java.util.logging.Level.SEVERE, msg, e); // continue to next renderable } } }
public void render() { glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity(); Collections.sort(Handler.renderables); for (Renderable renderable : Handler.renderables) { renderable.render(); } /* * EntityHandler.render(); SpellHandler.render(); */ Display.update(); Display.sync(60); }
@Override public void render(GL2 gl, GLU glu, GLUT glut) { // camera.prepare(gl, glu, glut); // preRendering(gl, glu, glut); gl.glLoadIdentity(); camera.prepare(gl, glu, glut); setupWorld(gl, glu, glut); for (Renderable r : this) { gl.glPushMatrix(); r.render(gl, glu, glut); gl.glPopMatrix(); } }
protected void doPick( DrawContext dc, Iterable<? extends Renderable> renderables, java.awt.Point pickPoint) { this.pickSupport.clearPickList(); this.pickSupport.beginPicking(dc); try { for (Renderable renderable : renderables) { // If the caller has specified their own Iterable, // then we cannot make any guarantees about its contents. if (renderable != null) { float[] inColor = new float[4]; dc.getGL().glGetFloatv(GL.GL_CURRENT_COLOR, inColor, 0); java.awt.Color color = dc.getUniquePickColor(); dc.getGL() .glColor3ub((byte) color.getRed(), (byte) color.getGreen(), (byte) color.getBlue()); try { renderable.render(dc); } catch (Exception e) { String msg = Logging.getMessage("generic.ExceptionWhilePickingRenderable"); Logging.logger().severe(msg); continue; // go on to next renderable } dc.getGL().glColor4fv(inColor, 0); if (renderable instanceof Locatable) { this.pickSupport.addPickableObject( color.getRGB(), renderable, ((Locatable) renderable).getPosition(), false); } else { this.pickSupport.addPickableObject(color.getRGB(), renderable); } } } this.pickSupport.resolvePick(dc, pickPoint, this); } finally { this.pickSupport.endPicking(dc); } }
@Override public void render(Screen screen) throws IOException { a.render(screen); b.render(screen); }
/** Renders all Renderables in the specified array onto the specified Graphics2D. */ private void renderOnGraphics(Graphics2D g, Renderable[] renderItems) { for (Renderable r : renderItems) r.render(bufferGraphics); }