(Sphere) Geometry just wireframe but without diagonal lines

Having this: Wireframe of quads
and this: three.js examples

we can get this example: https://jsfiddle.net/prisoner849/so70a51h/

Picture:
изображение

Function:

function SphereToQuads(g) {
  let p = g.parameters;
  let segmentsX = p.widthSegments;
  let segmentsY = p.heightSegments-2;
  let mainShift = segmentsX + 1;
  let indices = [];
  for (let i = 0; i < segmentsY + 1; i++) {
    let index11 = 0;
    let index12 = 0;
    for (let j = 0; j < segmentsX; j++) {
      index11 = (segmentsX + 1) * i + j;
      index12 = index11 + 1;
      let index21 = index11;
      let index22 = index11 + (segmentsX + 1);
      indices.push(index11 + mainShift, index12 + mainShift);
      if (index22 < ((segmentsX + 1) * (segmentsY + 1) - 1)) {
        indices.push(index21 + mainShift, index22 + mainShift);
      }
    }
    if ((index12 + segmentsX + 1) <= ((segmentsX + 1) * (segmentsY + 1) - 1)) {
      indices.push(index12 + mainShift, index12 + segmentsX + 1 + mainShift);
    }
  }
  
  let lastIdx = indices[indices.length - 1] + 2;
  
  // poles
  for(let i = 0; i < segmentsX; i++){
  	//top
    indices.push(i, i + mainShift, i, i + mainShift + 1);
    
    // bottom
    let idx = lastIdx + i;
    let backShift = mainShift + 1;
    indices.push(idx, idx - backShift, idx, idx - backShift + 1);
  }
  
  g.setIndex(indices);
}
3 Likes