3D Engine Design for Virtual Globes Cover
Home TOC Back Cover Reviews Code Figures Bibliography BibTeX Errata Blog

Example Code

Fork me on GitHub

Below are the instructions for obtaining and building OpenGlobe, the example virtual globe engine accompanying our book. Since publishing the book, the two authors, Patrick and Kevin, have been contributing to an awesome open source virtual globe for the web, called Cesium. While OpenGlobe continues to be a great example of the ideas presented in the book, we recommend that you take a look at Cesium as well, because it is much more sophisticated and under very active development. It also runs in a web browser without a plugin, by utilizing WebGL and Javascript!

OpenGlobe, the example code for our book, is written in C# and OpenGL 3.3 and is available as a zip file here or from GitHub with simple build instructions:

Windows Build Instructions

Tested on Windows XP, Vista, and 7
  1. Download and unzip the code (30.8 MB).
  2. Upgrade your video card drivers [NVIDIA | ATI]. OpenGL 3.3 is required.
  3. If necessary, install Visual Studio 2010 or later. The free express edition is sufficient.
  4. Open <unzip path>\Source\OpenGlobe.sln in Visual Studio.
  5. Right click the solution in the Solution Explorer and click Build Solution.

    Build Solution

  6. To run an example, right click on the project in the Solution Explorer, and click Set as Startup Project, then hit F5.

Linux Build Instructions

Tested on Ubuntu 10.04 (Mono 2.4.4), 10.10 (Mono 2.6.7), and 11.04 (Mono 2.6.7)
  1. Download and unzip the code (30.8 MB).
  2. Upgrade your video card drivers [NVIDIA | ATI]. OpenGL 3.3 is required.
  3. Ubuntu 11.04 Only: sudo apt-get install libx11-dev
  4. If necessary, install MonoDevelop 2.4 or later: sudo apt-get install monodevelop
  5. Open <unzip path>/Source/OpenGlobe.sln in MonoDevelop.
  6. Right click the solution, and click Build OpenGlobe.

    Build Solution

  7. To run an example, right click on the project and click Run Item.
Also check out OpenGlobe on GitHub.