protected void rawLines(int start, int stop) {
    raw.colorMode(RGB, 1);
    raw.noFill();
    raw.beginShape(LINES);

    for (int i = start; i < stop; i++) {
      float a[] = vertices[lines[i][VERTEX1]];
      float b[] = vertices[lines[i][VERTEX2]];
      raw.strokeWeight(vertices[lines[i][VERTEX2]][SW]);

      if (raw.is3D()) {
        if ((a[VW] != 0) && (b[VW] != 0)) {
          raw.stroke(a[SR], a[SG], a[SB], a[SA]);
          raw.vertex(a[VX] / a[VW], a[VY] / a[VW], a[VZ] / a[VW]);
          raw.stroke(b[SR], b[SG], b[SB], b[SA]);
          raw.vertex(b[VX] / b[VW], b[VY] / b[VW], b[VZ] / b[VW]);
        }
      } else if (raw.is2D()) {
        raw.stroke(a[SR], a[SG], a[SB], a[SA]);
        raw.vertex(a[TX], a[TY]);
        raw.stroke(b[SR], b[SG], b[SB], b[SA]);
        raw.vertex(b[TX], b[TY]);
      }
    }
    raw.endShape();
  }