Skip to content
Drawing Cannon-Thurston maps with the GPU.
JavaScript GLSL HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Drawing Cannon-Thurston maps with the GPU. Try it out for yourself at

Derived from the websperience hypVR-Ray by Roice Nelson, Henry Segerman and Michael Woodard featured over at, which was in turn based on the websperience by Vi Hart, Andrea Hawksley, Sabetta Matsumoto and Henry Segerman featured over at

This project is being worked on by David Bachman, Saul Schleimer, and Henry Segerman. Henry Segerman is partially supported by NSF grant DMS-1708239. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.


Use arrow keys to move and "wasd" to rotate the camera. "q" and "e" roll the camera. Click the "Open Controls" tab for more options.


Running Locally

Running this locally requires a simple web server (to source the shader files at runtime), with the root at the same level as index.html. This can be done in python 3 by running the command "python -m http.server". On Windows, you can set up a server in the Control Panel Administrative Tools, in the IIS Manager (you may need to turn this feature on first). NOTE: The server will need to have a MIME type configuration for .glsl files set to "text/plain".

You can’t perform that action at this time.