I'll put up some of the things I work/have worked on here. Some projects will only have screenshots, while some might be accompanied by source and/or binaries. Please feel free to contact me if you have any questions or comments (dva97tha at cs.umu.se)
A tour through a strange tunnel. Generated with the pq-torus knot equation, and uses Dot-3 bump mapping. Needs at least two texture units and the Dot3 extension.
A little knot.. Based on Fun with the PQ-Torus Knot.
I put together a little tool for randomly setting the background image in X. It's very simple, due to lack of design and that I used it as a way to experiment with using TK for GUI creation. It can be used for other things too; playing random sounds or whatever....
Just made a little game to get into some fun programming again. I also used it as an opportunity to learn a bit about ParaGUI. It's still a bit rough, but I don't think I'll develop this particular game much further...
A little program that generates a landscape with rivers, using the midpoint displacement algorithm and squig curves. Just for fun, hexagons are used instead of triangles. I apologize for the code; it was something I just threw together (because I wanted to use it in a presentation).
This is kind of small to be here on the projects page, but I put it here anyway. The title and the screenshot should explain what this does; it's based on this.
A program for image restoration and manipulation. It uses GTK+ and FFTW and can do operations on the spatial plane as well as in frequency space. It's the first release, and it's still a little buggy and lacks features. Please check the TODO and BUGS files. Also check the beginning comments in main.c if you need help to compile it. I should probably also tell you that it's only been tested on Linux, so far.
A small demo, created for OpenGLforums second contest. It's quite small, but it has some interesting features:
Well, that's about it. I didn't have time to finish all the effects I had planned, partly due to me wasting so much time trying to make a 3DS loader. The 3DS loading doesn't really work fully (the alien is supposed to be green).
This is actually what I wrote my thesis on. Based on OpenAL, I created OpenAL++. It's an object-oriented wrapper that adds some functionality (like easy streaming) to OpenAL. (Note: The project is now hosted on SourceForge, so I've updated the above link.)
A basic 3DS loader. Transparent objects don't work very well at the moment, neither do animations... Also, at the moment the project uses DevIL to load images, which uses SDL, so both DevIL and SDL should be installed. The example (modeltest) uses glut, so there's a lot of libraries to do a little work... I'll fix it sometime.
A little demonstration program for my (not-quite-ready) 3DS loader and my particle system. The model was found on 3D Cafe (under Free stuff/3D Models/Household/glass.zip). The ice cube texture is mine, though :).
A simple program demonstrating five balls bouncing on top of each other. It uses a simple spring-model and the libraries SDL and OpenGL. There are two versions of the program; threaded and non-threaded. Type "make threaded" to make the threaded one, and just "make" to make the other one. The system is not very stable, which can be seen on the output (the energy in the system varies a lot over time). To get a more stable system, change the indicated line in main.cpp (for non-threaded) or mainth.cpp (for threaded). Thanks to the guys at OpenGLforums, for pointing out the obvious thing I had missed: That the deformation of the balls could be done with glScale*!
This was originally supposed to be my entry in a programming competition, but I didn't make it in time. It's a program for handling packages like zip, tar.gz, iso etc. The program might, or might not, be released when/if I finish it.
I got the idea about this project when I was thinking about how to do volumetric rendering, actually. I dug up my old ray tracing source, and started modifyng it to be real time. This is still work in progress. A lot of the ideas for this project came from this page. My tracer doesn't look as pretty as his yet, but I'm working on it. :) What you can't see on the screenshot is that one of the spheres and the lightsource are moving (the viewer can move around too).
Some optimizations and experimenting later... I've got something that at least resembles water.. Not done yet, but here it is anyway:
That sphere is supposed to be a glass sphere that's somewhat reflective (the closer sphere in the upper corner is reflected, among other things) as well as refractive (you can see the green sphere that's behind it). I haven't optimized it yet, but I still get >10 fps in this scene. And that's with moving lights, objects and viewer. 4 spheres, of which two are reflective and one is both reflective and refractive, 3 planes, of which one is reflective and has animated water and one light source. Maybe not that impressive, but I'm getting there...
Starting to look a bit better.. Added subsampling, which made it both look better and go faster. It's >11 fps (for the same scene).
Note: I added scripts for creating scenes, instead of hardcoding them. Unfortunately, I haven't come up with a good way to script moving objects and light sources yet...
. This one is mostly based on Polygone's excellent tutorial. It's not very much to speak about; no advanced functions just a standard light model, shadows, spheres and planes...
. Of course I had to try to implement the ROAM algorithm. I got lots of help on this one from various sites on the Internet. I also added a skydome (that I had made earlier), and some snow to the program. Everything is generated at startup, so no extra data is needed. I've made a SDL version with multi-texturing too... I'm not to happy with the code (in either version). Apart from it not being optimized, it doesn't look very good. Some of the code is quite old, so the whole project looks kind of "patchy." Oh well, I'll make a new, better version sometime.