Once upon a time… Fifteen years ago my friend Gevor and I (among a lot of other people) had the computer graphics course at Moscow State University. Mentors gave us a freedom of choice so we could develop almost any computer graphics algorithm.
We decided to choose a raytracing approach with several light sources, shadows, textures, mirrors, semitransparent objects and etc. Our ultimate goal was to render the Klein bottle’s 3D projection. We used the triangulation of the “Klein bagel”, the special parameterization of the Klein bottle shaped like a “figure-8″ torus with a 180 degree “Möbius” twist.
We were going to compile a short FLI-movie from a sequence of BMP-formatted frames. Our renderer was developed as a cross-platform pure C code, and we had several hectic weeks trying to catch the deadline. We spent 20+ days to build the single 40 second 320×200 movie.
* * *
The other day my old friend, Gevor, visited me, and we recalled that funny pastime.
Just for fun I dug up that ancient piece of code. We compiled it promptly under my Win7x64 with cygwin’s gcc and build this hires movie:
No code modifications were done except quality and screen resolution constants correction.