It looks like you are getting frames per second and not seconds per frame based on the video and I can't imagine that was very easy to accomplish. Very cool!
Is this the deal where raytracing is interactive, but not yet real-time? What I mean by that is the raytracing information may not update at real-time framerates, but the simulation stays interactive the whole time. The Ogre updates and the raytracing updates are disconnected. It's a fascinating process and an awesome project.
I really think raytracing is the ultimate, and we will eventually be using it for all realtime sims. Great work.
But I don't understand why you did integrate it into Ogre. I mean, if this all rendered using shaders, it would have been faster (in term of FPS) to integrate it directly using OpenGL or Direct3D.
Really amazing, I believe, this will be the next big step in realtime graphics.
@Scrat: No, this definitly was a wise decision. He hasn't been doing this project for fun (At least not at all) and shurely had a very close schedule to finish his work. So, Ogre gave him everything he needs. An asset pipe line (For a own engine, you need to write the mesh loader and exporter yourself), a frame work (Even this takes a long time), an infrastructure for managing shaders at all, easy to use animation functions etc. etc.
Even if it *may* been fast in FPS, this doesn't seem to be the aim. It's an academic work and focuses on its main goal: The techniqual implementation. So, this definitly was the right decision. You can't implement everything yourself if you want to achieve something.
I'm not sure that integrating a GPU raytracer into Ogre is easier than Direct3D. I've done a GPU Raytracer myself.
The thing is, when you make a GPU raytracer, you basically create a pixel shader that will cast a ray for each pixel. And binding a shader into DirectX or OpenGL is really straightforward and fast (and you don't need scene management, animations properties, shadow stuffs etc as everything is computed directly into the shader)
Anyway, I'm sure he must had good reasons to integrate it into Ogre.
This is awesome. A great gift for the community. It would be great to use this for selected items to get really good effects. For instance, only use this technique for translucent or reflecting objects, and use other materials that might not need raytracing.