A cross-platform High Dynamic Range (HDR) Rendering implementation in C with OpenGL 2.0 and GLSL, additionally using SDL, SDL_Image, Judy, glew, lib3ds. It also has a phong shading implementation. It is tested on Geforce 7800GT and Quadro Fx 3450. I don't have an ATI card, so let me know if it works on ATI cards. If you want to build it on:
Windows, you're in trouble. There is a VS2005 .sln file, but you must manually get all the required libraries from their official sites, build them and make Visual Studio aware of them. As the windows compiler is not c99-compliant, (rather c89) you will need to get c99 libraries specifically designed for Visual Studio, in order to build libJudy.
In total, it is a 2-3 hr. work. To save you that time, I am putting online the one_lib that I used to build this project. Most of the software inside is GPL-licensed, so be aware that if you want to get hold of their sources, you may do so by visiting their official web sites. I know that this package may interfere with your existing GL development environments, but that's the best I can do. Extract the contents to C:\one_lib, make Visual Studio aware of it, and build the Release configuration.
Linux, you must use the package manager of your distribution in order to install the required libraries. You also need gnu autotools and a recent version of gcc. If you're not sure how to install the required software, please refer to your distro's official documentation, as things may vary wildly between distros.
However, if you're lucky enough to wield a recent version of portage, you could do, as root:
emerge -n lib3ds libsdl sdl-image judy glewthen unpack the archive, and finally do "make -f mk" to build the sources.
As for the r2d2 model, I found it in my 3d model collection, in an X-Wing model. I remodeled some of it in 3dsmax. I don't remember where I got it from. So if you seem to be the maker of this model and want your name mentioned here, please let me know.
Known Issues:
Finally, here's the sources, the 32-bit windows binary, a sample movie, and the project report.
The linux part of this project could also be used as a simple tutorial / demonstration of GNU autotools.
A prime number generator that is a single-threaded implementation of the wheel sieving using gmp and libjudy in C, available here. You can compile it with the following command:
gcc -O3 -lgmp -lJudy gprime.c -o gprimeThe single optional parameter it takes is the number of wheels to process. Note that values > 5 are all but instantenous to calculate.
All source code released under the BSD license, feel free to use it in any way you see fit.
Last update: 2007/07/15