A virtual science museum in OpenGL

I created scimus from scratch using OpenGL2 for a course on computer graphics. The aim of this project was two-fold. First, this project is designed to demonstrate various OpenGL features, such as:

  • textures and mipmaps
  • animation
  • ambient, specular and diffuse lighting
  • multisample anti-aliasing
  • adjustable perspective projection, e.g., zooming
  • support for full-screen mode

Second, I hoped to create a useful framework for creating “first person” style motion and virtual worlds that may be useful for future projects or games. This framework, found primarily in navigator.c, performs the following types of motion:

  • step forward/backward
  • turn left/right
  • sidestep left/right
  • look left/right
  • look up/down
  • jump
  • duck
  • zoom in/out

scimus also simulates the following aspects of a virtual world:

  • gravity
  • rudimentary collision detection, i.e., with walls
  • Kepler’s laws of planetary motion



scimus is available for download on my github site under a two-clause BSD style license.