Use your fingers or mouse to control the model (hold shift key or use mouse wheel to zoom it). Canvas is matched to your browser window.
z(x,y) bi-cubic Bezier spline patch. Just z-height map on regular rectangular 32x32 (x, y) mesh. z = Mij * Ui * Vj, where Mij - 4x4 z-control points of the patch, Ui(x), Vj(y) - Bernstein polynomials (see the page source). Patch is generated (only once) on GPU.

True bi-cubic Bezier patch script with 3D control points will be just 3-times lengthily (Mijx,y,z and so on...). One can use z-dispatch direction to make many similar MxN patches.

But for adaptive LOD we need patches with different Mi x Ni values.
1. we need to generate list of indexes on fly too
2. we can make big Mmax x Nmax local workgroup but smal Mi x Ni pathes calculation may be not efficient.

Tesselation (Geometry) shaders simulation by CS

A few years ago I was suggested (by someone from Mozilla) to use compute shaders for splines rendering.

1,2D Bezier, extrusions, lathe...

2D spline patches are used in procedural Lathe flowers 2. Almost all meshes are stored in one big vertex array. It is possible:
  just accelerate mesh generation by GPU
  generate spline patches on fly
Not sure if control points transformation and spline generation on fly will be faster than one vertex array transformation. But one can effectively generate patches on fly for interactive LOD.

The chairman of the SU collective farm, who visited the US: "Their equipment is better, they work better, the crops are better, the yield is higher. But when I told them about our plans - they gasped." (translated by Google :)


Simulations on GPU     updated 6 Feb 2019