The Polygons Feel No Pain demo pages

(Beta - some pages are not ready yet and occasional links can be broken.)

Official demo page for the Polygons Feel No Pain book series, the TSBK07 Computer Graphics course and the computer-graphics.se web site

by Ingemar Ragnemalm

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.  (Different printings each year 2008-2013, converted to OpenGL3+ 2012, now available on-line and printed on demand.) 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 10.7 (mostly also with 10.8-10.9) with Lightweight IDE. Most code has also been tested under CentOS (Linux) from the command-line. 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 - needed for ALL demos! (Well, at least some parts are used over and over. Latest version as of 8th of may 2014)

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)
ZPR, "zoom-pan-rotate". Camera handling unit. This was not written by me.

Demos

16 simple GL3 examples
16simpledemos.html

Collision demo
collision-demo.html

Simple cubemap demo + Cubemap and skybox demo
cubemap-and-skybox.html

Fake bumped cube
fakedbump.html

glutgears3 (including VS version)
glutgears3.html

Inline texture cube
inline-texture-cube.html

Live fractal
live-fractal.html

Mipmapcube4 and simplefont (including VS version)
mipmapcube.html

Phong bunny

Phong bunny and friends
phong-bunny-and-friends.html

Procedural 2D image
procedural-2d-texture.html

Textured glossy sphere


Textured phong cube


Transparent teapot
transparent-teapot.html

Psychedelic teapot
psychedelic-teapot.html

Wavy wire teapot
wavy-wire-teapot.html

Call me AL (sound module/demo)
CallMeAL.html

Instancing
instancing.html

Old TSBK07 demo archive, mostly the same but obsolete versions