ride = gridWidth + 1;
// x lines
for (let z = 0; z <= gridDepth; ++z) {
  const rowOff = z * rowStride;
  for (let x = 0; x < gridWidth; ++x) {
    gridIndices.push(rowOff + x, rowOff + x + 1);
  }
}
// z lines
for (let x = 0; x <= gridWidth; ++x) {
  for (let z = 0; z < gridDepth; ++z) {
    const rowOff = z * rowStride;
    gridIndices.push(rowOff + x, rowOff + x + rowStride);
  }
}

const positionBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
gl.bufferData(gl.ARRAY_BUFFER, ne