Whenever one needs a curve, a spline of some sort is usually involved. The most common forms are Catmull-Rom splines and Cubic Bezier Splines. Both of these splines have relatively simple polynomial forms, and are easily evaluated in the vertex shader.

There appear to be some major issues with the node application that runs this website. It crashes after some time, without a visible stack trace or anything. I’m not sure why this happens - the application is running under a daemon that should restart it if it dies, but this appears also not to work.

Either way, the golang application thats running on the same server is running just fine after several months. More investigation is needed, but I can’t help but think that a better language wouldn’t have these problems.

Just a quick aside for anyone that may be using luajit with luabind on x86 platforms - be careful about the way that luabind throws exceptions. Luajit on x86 platforms has no exception interopability, which means that throwing exceptions through lua frames is not supported, and may corrupt the stack. This usually is not a problem, since luabind generally only throws exceptions after an error, or some other confluence of events conspires so that the exception does not corrupt anything.