Welcome to the demo archive

by Ingemar Ragnemalm


NEW VERSION as of march 2017! Links may be wrong, the layout may be changed… Opinions are welcome! This new version makes it easier for me to edit, easier to add pages, and it also seems to fix problems with some browsers that my old system had.


I am now - that is april 2017 - working through these demos, updating them for Linux Mint and anything else that is lagging behind. So far I have updated:

• 16 simple demos

• Collision demos

• Cube map and skybox

• Faked bump map

• GLUT Gears

• Inline texture cube

• Mipmapcube and Simplefont

• Phong bunny and friends

• Psychedelic Teapot

• Live fractal

• Procedural 2D image

• Psychedelic teapot warp

• Transpartet teapot

• Wavy wire teapot

which should be all! The “common” archive is also updated, and I am taking out any such code existing locally in old demos in order to have one current copy instead of several with varying age.


Recently added demos:

• Call me AL

• Instancing demos

• Texture splatting demos

• Phong bunny

• Phong Stanford bunny

• Simple shadow

• Planet system

• Textured glossy sphere

• Multitextured bunny



Most of the following demos are 100% written by myself. Many are conversions of my old demos for OpenGL 2.1, while others are totally new. Demos that are substantially based on code by others should be properly documented as such. (That is my intention. I can make mistakes but I think I usually do this right.)


These examples were developed for my courses, and are intended to complement my course book "Polygons Feel No Pain". I plan to extend these pages with demos for volume 2, So How Can You Make Them Scream?, too, but at this time the focus is on volume 1.


All code has been tested on MacOSX, Linux (CentOS and Mint). There are also a few demos that have been adapted for Visual Studio under MS Windows. There are many other development systems, but I can't support all, and if they are good, it should be easy to make it work under them.


Reusable code

These files are needed for ALL demos! (Well, at least some parts are used over and over.)

This package includes:

MicroGlut, a single file GLUT replacement with the essentials and no old OpenGL dependencies, available for OSX and Linux.

VectorUtils3, a fairly capable vector/matrix package.

loadobj, a model loader that loads a subset of the Wavefront OBJ format. (Parts written by Mikael Kalms.)

GL_Utilities, shader loader and more.

LoadTGA, loader for TGA images (simple lab-friendly image format)


Download:


common.tar.gz

This page is maintained by Ingemar Ragnemalm.