Tuesday, May 20, 2008

BVHallelujah


In the previous episode, our BVH traversal still had some issues in which much of the culling was not taking place. This made the traversal very inefficient and resulted in pretty, but slow bunnies. In fact, the high resolution bunny we had would not even load because the computer ran out of steam. After some further work, we were able to fix those issues which turned out to be some stupid logic errors. We are now able to run our high resolution bunny faster than the low resolution bunny ran before (~4 fps).

Thursday, May 8, 2008

The Bunny Is In The House




We finally have a ray traced bunny!!!! The red bunny rendered above contains ~16000 polygons and was ray traced in 0.04 seconds.

Monday, May 5, 2008

Profiles, wow

So we just found out about earlier today that we've wasted countless hours dancing around the most inane cg errors all because we were using a very outdated profile (working from the homework 1 code on my laptop). The profile we were using didn't support while or for loops, min/max calls, or even tex2d!!! The only way we finally found out this was the problem was when Gary walked by and we complained to him that we spent most of our time debugging cg line by line with out a complier due to an "cg compile error" crash at runtime.

He told us about the "cgc" command line debugger and now we're finally able to fly through cg code like we should have been doing weeks ago. Now we're working with fp40 and things are going well. Stocked up on Red Bull and candy from WaWa =)

Friday, May 2, 2008

More cg problems

We're still hammering out little cg errors. It's really frustrating to have the concepts for BVH trees and raytracing so solidly planned out, and get continually bogged down by cg compile errors. We're regretting our decisions to implement in cg now. CUDA definitely would have been easier to work with. Unfortunetly we wanted maximum portablity and to be able to follow the paper as best as possible. It doesn't seem worth it anymore. =(

At the moment all our textures seem to be passing okay. There seem to be some problem with simple cg calls our main kernel is making to other cg helper kernels. Specifically our Intersection test. There doesn't seem to be any good reason why it shouldn't work. We'll keep debugging it.