I am trying to create a program to subdivide 3D surface meshes using the Loop Subdivision Algorithm.

Obviously the meshes are made exclusively out of triangles.

I was curious if anyone here has worked with this algorithm or has any good resources. Google and Wikipedia aren’t much help, as I haven’t been able to find a good step-by-step breakdown of the algorithm anywhere.

Thanks.