@Override public void disposeRenderer() { renderer.flush(); renderer.dispose(); }
@Override public void drawSimpleText(GL gl, GLU glu, Camera cam, String s, Coord3d position, Color color) { renderer.begin3DRendering(); renderer.draw3D(s, position.x, position.y, position.z, 0.01f); renderer.flush(); renderer.end3DRendering(); }
@Override public BoundingBox3d drawText(GL gl, GLU glu, Camera cam, String s, Coord3d position, Halign halign, Valign valign, Color color, Coord2d screenOffset, Coord3d sceneOffset) { //gl.getGL2().glPushMatrix(); renderer.begin3DRendering(); if(LAYOUT){ // work in progress Rectangle2D d = style.getBounds(s, font, renderer.getFontRenderContext()); Coord3d left2d = cam.modelToScreen(gl, glu, position); Coord2d right2d = new Coord2d(left2d.x+(float)d.getWidth(), left2d.y+(float)d.getHeight()); Coord3d right3d = cam.screenToModel(gl, glu, new Coord3d(right2d,0)); Coord3d offset3d = right3d.sub(position).div(2);//.mul(0.1f); Coord3d real = position.add(sceneOffset).sub(offset3d); renderer.draw3D(s, real.x, real.y, real.z, 1);//0.005f); } else{ Coord3d real = position.add(sceneOffset); renderer.draw3D(s, real.x, real.y, real.z, 1);//0.005f); } renderer.flush(); renderer.end3DRendering(); //gl.getGL2().glPopMatrix(); return null; }
@Override public void beginMovement(final Object oldBackingStore, final Object newBackingStore) { // Exit the begin / end pair if necessary if (inBeginEndPair) { // Draw any outstanding glyphs flush(); final GL2 gl = GLContext.getCurrentGL().getGL2(); // Pop client attrib bits used by the pipelined quad renderer gl.glPopClientAttrib(); // The OpenGL spec is unclear about whether this changes the // buffer bindings, so preemptively zero out the GL_ARRAY_BUFFER // binding if (getUseVertexArrays() && is15Available(gl)) { try { gl.glBindBuffer(GL.GL_ARRAY_BUFFER, 0); } catch (final Exception e) { isExtensionAvailable_GL_VERSION_1_5 = false; } } if (isOrthoMode) { ((TextureRenderer) oldBackingStore).endOrthoRendering(); } else { ((TextureRenderer) oldBackingStore).end3DRendering(); } } final TextureRenderer newRenderer = (TextureRenderer) newBackingStore; g = newRenderer.createGraphics(); }