public void renderTo(Rendering rendering) {
    if (showing.size() == 0) return ;
    final Vec3D flatPoint = new Vec3D(position) ;
    rendering.port.isoToScreen(flatPoint) ;
    float fontScale = LINE_HIGH / FONT.map[' '].height ;
    
    GL11.glDepthMask(false) ;
    rendering.port.setScreenMode() ;
    
    BUBBLE_TEX.bindTex() ;
    GL11.glBegin(GL11.GL_QUADS) ;
    for (Bubble bubble : showing) if (bubble.type != NOT_SPOKEN) {
      renderBubble(rendering, bubble, flatPoint, bubble.type == FROM_RIGHT) ;
    }
    GL11.glEnd() ;

    FONT.fontTex.bindTex() ;
    GL11.glBegin(GL11.GL_QUADS) ;
    for (Bubble bubble : showing) {
      renderPhrase(rendering, bubble, flatPoint, fontScale) ;
    }
    GL11.glEnd() ;
    
    rendering.port.setIsoMode() ;
    GL11.glDepthMask(true) ;
    GL11.glColor4f(1, 1, 1, 1) ;
  }