How did they add HTML elements over the cylindrical mesh?

you can see the canvas instance, if you hide it the view goes away. the odd perspective is probably the orthographic camera. the html overlays like I said are for a11y. this is very common for design agencies, i think they might even be required by law to add this stuff. the visuals though are rendered by threejs.

here’s a first draft implemention: -------------- (see below)

using @prisoner849 's curvedplane impl from Simple curved plane - #10 by prisoner849 all that’s missing is the border radius though for certain it’s being made at the shader level, not geometry since the radius changes on hover. scroll and the banner are implemented as well.

3 Likes