Georeferencing images draped onto the globe

1. A concise explanation of the problem you’re experiencing.

I want to render an image of varying opacity draped onto the globe. The image is stretched/skewed such that the four corners are fixed to four known coordinates on the globe. Mapbox supports this feature on their 2D map (https://docs.mapbox.com/mapbox-gl-js/example/image-on-a-map/), and I think they do it by splitting the image into two triangles and fitting those separately.

I’ve spent a little time looking into the Cesium APIs, but I didn’t see a clean way to do this. The best idea I had was to distort the image myself in a canvas, then apply that as an ImageMaterial to some geometry, but that’s likely incorrect when accounting for the ellipsoid shape of the globe.

2. A minimal code example. If you’ve found a bug, this helps us reproduce and repair it.

No example available.

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

The application I am building includes georeferenced images, which are placed on the map and fit to specific coordinates. I need a way to display those images properly fitted, draped over terrain, with some level of opacity.

4. The Cesium version you’re using, your operating system and browser.

Cesium 1.63, Chrome 78.0.3904.97, macOS Version 10.14.6

There’s some discussion about a similar issue here: https://groups.google.com/forum/#!topic/cesium-dev/wN3adz5TMoY

So you should either be able to create a polygon with a textured material, or created a georeferenced GeoTIFF that Cesium ion will automatically reproject and place on the globe. Does that work for you?

I found an issue that describes what I am looking for: https://github.com/AnalyticalGraphicsInc/cesium/issues/4164

The issue references a Trapezoid Geometry that never seems to have been added to Cesium. Is it possible to add this and make it work for GroundPrimitive?