Panoramic Rendering for Concave Surfaces of Revolution
This project is the source code for my thesis, Panoramic Rendering for Concave Surfaces of Revolution, submitted in 2001. The thesis investigated methods for generating panoramic images, based on a 2D profile curve, or a mathematical expression.
A surface of revolution can be constructed by revolving a 2D curve around a line, the principal axis. The geometric shape of the symmetrical surface is governed by the 2D function, the profile curve. Since most curved displays can be considered to be symmetrical about its principal axis, 2D profile curves provide a convenient way for modelling a display shape.
The software implementation includes a ray-tracer and a real-time rendering system.
2 Source Code
The code is not exactly a shining example of good C++ programming practices, but it did the job. The project is organised into the following structure:
|object/||3D models needed to load the test scenes|
|source/||C++ source code for the project|
|thesis/||Collection of trial programs and scripts used for the thesis|
|__test0.scr||The cube scene|
|__test1.scr||The rubber duck scene|
|__test3.scr||The toy scene|
|cosmic_ray_tau.dsp||Visual Studio 6.0 project file|
|cosmic_ray_tau.dsw||Visual Studio 6.0 project file|
|cosmic_ray_tau.mak||Visual Studio 6.0 makefile|
|glut32.dll||GLUT runtime library|
|thesis.pdf||The full thesis|
3 Supporting Resources
- Panoramic Rendering - Main article
- Panoramic Rendering for Concave Surfaces of Revolution - PDF thesis, 3.2 MB
3.2 Video Clips
- Fourth Degree Polynomial Panorama With Cosine Perturbation - YouTube video
- Hyperbolic Panorama - YouTube video
- Logarithmic Curve Panorama - YouTube video
- Spherical Panorama - YouTube video
4 Legal and Copyright
Released under the MIT License.
Copyright 2018, DEAK Software