How do I make wall geometry follow latitude?

How do I make wall geometry follow latitude?
Right now it goes along the shortest path between two points.
For short distances I am using a hack(see code snippet below) but it isnt good enough for large distances.

let wall = viewer.entities.add({
              name: 'wall',
              wall: {
                  positions: Cesium.Cartesian3.fromDegreesArray([long1, lat1,
                      (2 / 3 * long1 + 1 / 3 * long2), (2 / 3 * lat1 + 1 / 3 * lat2),
                      (1 / 3 * long1 + 2 / 3 * long2), (1 / 3 * lat1 + 2 / 3 * lat2),
                      long2, lat2,
                  ]),
                  maximumHeights: new Cesium.CallbackProperty(function() {
                      return [depthTop, depthTop, depthTop, depthTop];
                  }, false),
                  minimumHeights: [depthBottom, depthBottom, depthBottom, depthBottom],

                  material: new Cesium.ImageMaterialProperty({
                      image: '',
                      transparent: true,
                      //color: color,
                      //repeat: new Cesium.Cartesian2(rx, ry),
                      //parasShift: new Cesium.Cartesian2(sx, sy)
                  })
              },
              show: true
    });

Hi! What exactly do you mean by follow latitude? Do you mean it winds and bends a certain way along the earth?

WallGeometry is defined by points, so adding more points would probably be the way to go.

Your hack for the shorter distances seems to create more points between two points–maybe you can write a function to generate more points for longer distances?

The term you are looking for is “rhumb line” which is a line of constant bearing, as opposed to the current behavior which uses a geodesic, the shortest path. There is an open issue here to add an option for rhumb lines with geometry:

https://github.com/AnalyticalGraphicsInc/cesium/issues/4000