Stonehenge

This interactive 3d tour of Stonehenge was developed for the Computer Graphics module of my MSc. It’s incomplete but working, principally it has no help screen (despite stating otherwise) and some of the transitions can be quite jerky.

It was written in C++, and uses OpenGL and the Simple OpenGL Image Library. GLee (GL Easy Extension library) was used for openGL extensions – in the event only the symbol GL_CLAMP_TO_EDGE was used to avoid black lines around textures.

I wrote the model loading function myself. The original Stonehenge model (from Inria – Inventors for the digital world — a great resource for .obj files) was inaccurate and needed tweaking, which I did in Blender. Sadly this lost a lot of the group information, but it still looks ok.

The height map was part guesswork part information from an ordnance survey map… but mainly guesswork.

Key controls

Key Function
Up Move forward
Down Move back
Left Turn left
Right Turn right
Left + shift Strafe left
Right + shift Strafe right
Up + ctrl Move up
Down + ctrl Move down
Up + shift Look up
Down + shift Look down
F1 – F4 Toggle spotlights
F5 Toggle full screen
Table Cell Table Cell
Tab Cycle through mid-day, evening and night
1 – 5 Select pre-set camera position
T Transition to next camera position

Download

Source code (as zip) developed with Visual Studio on Windows XP.
M$ windows exe (as zip) tested on Windows 95, Windows XP pro 64 bit and Windows XP pro.

Disclaimer

THIS SOFTWARE IS PROVIDED ON AN “AS-IS” BASIS WITHOUT WARRANTY OF ANY KIND.

The source and executable are provided for informative purposes only and to demonstrate my own abilities or some programming technique or effect, and are not intended in anyway for commercial ends.

Copyright

The software source and exe are copyright © 2012, David Carl Bateman, all rights reserved.

Some parts of the source may be copyright of or patented to third parties. If this is the case, any such contraventions were made in error. If the owner’s contact me, I will make whatever corrections are necessary.