My name is Brian Barnes and I’ve created what I believe to be the first completely ray-traced shooter game. Every pixel is ray-traced and it also does what are normally rastering effects like bump, specular, and glow mapping. The HUD and UI are OpenGL (there’s no reason to re-invent the 2D wheel.) It’s a complete 9 level game, made mostly to show off what you can do with ray tracing in a live light environment.
Here’s a demonstration video: http://www.youtube.com/watch?v=m6t-qHjE1gU
The code has two pieces, dim3RT, which is a development environment for developing 3D games, and dim3RTL, which is a high-speed API for creating ray-traced applications.
Both of these components are free and open-source. My goal would be to have my ray-tracing API become an open standard. If anybody has an ideas about how to start this procedure, please help me. I do understand that I’m not the first and won’t be the last, but I’d like to give it a try.
The applications themselves:
OS X: http://www.klinksoftware.com/RT/dim3RayShooter_OSX.zip
Note that while this system is very fast, ray tracing is inherently slow and so requires a modern multi-processor or multi-core computer. The video card is irrelevant, it’s all CPU bound at this point. One nice thing about this API is the implementation itself is small but removes so much code from engine developers – lighting, shadows, bump-mapping, etc. You just need to be concerned with vertex and UV data.
If you want to cheat to see all the levels, then in Data/Settings/, swap the contents of the files SinglePlayer.xml and SinglePlayer_cheat.xml (by renaming is fine.)
I’m making a couple stops at forums like this to hopefully get this in front of as many people as possible. Any suggestions on what else I can would be very helpful. There’s no money involved, it’s all free and open-source, I’m in it for my love of creating and coding! All comments appreciated!