Thursday, July 06, 2006

Sweet, super fast Sphere rendering!

Tonight was really good for my Raytracer work. It was more chill as well because I finally got some stuff to work and it was less algorithm/super hard programming and more just sorting out some data structures and stuff. Awesome!

I managed to figure out the huge issue that was causing me a bunch of problems. In the pictures I am posting tonight I'll show the problem I had last night with the grid intersections returning some weird stuff and what it looks like now that I fixed it. Right on.

I still appear to be having an issue with Hierarchical Modeling and perhaps the bounding box conversion from Modeling Coordinate Space to World Coordinate Space - I am not sure for certain, I probably need to talk to my Prof about that. But, it is now drawing something, I am just getting some weird clipping issues. But anyway, onto more exciting things!! I added box-sphere intersection code so now I am associating spheres with voxels. Crazy, eh?!

Turns out that I can render a grid of spheres with reflection depth of 3 and refraction depth of 3 with my Naive Raytracing method in 288 seconds, and with my *fancy* nnneeeewwww Spatial Subdivision method in... wait for it... wait forrrr ittttt... 128 seconds!!!!!!!!! Yeeeehhhhaaww!! This is AWESOME as it is really the first sign that my Spatial Subdivision method *actually* works. Wicked!! This is roughly a savings of approximately 55%, i.e. over half the render time. Amazing. Of course this is based completely on the setup of my scene, how many objects are in it and so on, but this is looking pretty good. As long as I can get this working for Hierarchical Modeling, then I can use this to render my final scenes. This is great news!! Of course it may not affect my meshes as well as this, but at least it's actually working. I am totally psyched that I am most of the way there on this. Kinda ridiculous pace though - it's Thursday night and I've only been working on this since Tuesday afternoon... oy. So about 3 days and 25 hours later, I've mostly finished Spatial Subdivisions. I am reallllly looking forward to the easier objectives after this one. :)

Here's some more pretty pictures from today.


Grid from last night with a stripe in the reflection that is incorrect


Fixed intersection code from this afternoon


Some problems I am still having with Spatial Subdivisions in a hierarchical modeling scene


Sphere grid using naive raytracing method - 279 seconds to render


Sphere grid using Spatial Subdivisions (9x9x9) raytracing method - 128 seconds to render (note this is exactly the same as the image above which is good!)

No comments: