Raytracing ioquake3

Stephan Reiter wrote into the mailing list with this amazing news (both videos are embedded after the break):

Hi everyone!

I’ve been working on a raytracing library during the last few months. Last week I was able to integrate it into the ioquake3 source code. This allows for switching between traditional rasterization and raytracing using a cvar. There are also some debug modes specific to the raytracing-mode.

I’ve posted two videos at YouTube showing Elite Force Raytraced, which is based on Thilo Schulz’s excellent Elite Force patch for ioquake3.
The 1st video focuses on raytraced reflections and other changes of the look: http://youtube.com/watch?v=jLFrP0c7VWw
The 2nd video is basically a record of a bot deathmatch: http://youtube.com/watch?v=C_6Icf2m_C4

I intend to release this code soon, but I plan to take some more time to polish it some more.
Comments are appreciated.

Keep up the good work, ioquake3-community!

    Update: Stephen added some screenshots:

17 Replies to “Raytracing ioquake3”

  1. Hey, can we get some video of Urban Terror? What kind of FPS can you get at 320×200? That’s the resolution I used to play Quake at!!! 🙂

    Awesome project! Can’t wait to see this real time on one of my machines!

  2. Cool beans. What I would love to see Stephan is some comparison shots. E.g. Standard EF on left and raytraced EF on the right.


  3. Can I make some questions?
    1 – There is no reflection//refraction in the movies, but there is reflection in pictures, what is your framerate at 320×240 with reflection enabled?
    2 – What about shadows?

    Keep up the good work. I hope someone do the same to q2.

  4. hey stephan,
    you wrote that you are working on your own raytracing lib. have you ever suggested to use openrt (www.openrt.de)?


  5. I still want to play Urban Terror with this engine and at super low res to keep my frame rates up. Any word on when we can try it out ourselves? Thanks in advance!

  6. When will you release this code? I can’t wait to watch it in action on our own hardware and play around with it our selfs!

  7. Have some Problems to compile it -.-
    Can you upload an compiled Version of it in the best way on Windows but Linux is ok too thank you very much 😉

  8. I’m not sure what to do with a .diff. I assume that is some high level programming knowledge or something. Any chance I can just get a win32 binary? I’ll be on my best behavior!!!

  9. Hey, LLVM dev here.

    Just a note about optimization: There’s no reason to use both GVN and GCSE. GVN is both faster and generally better. For pass ordering, I’d suggest mirroring what is done in the opt tool for -std-compile-opts.

Leave a Reply