Initial commit - some code was taken from another opengl project, so there are some leftovers and the code needs some refactoring