||[Feb. 18th, 2008|09:56 pm]
Spectre Gruedorf Challenge Blog
Today: the fun of dealing with Ruby's exciting garbage collector. Pop Quiz: if passing information from Ruby to C++ that may need to be preserved, the correct thing to do is:|
a) Leave it alone.
b) Mark it so that the GC won't delete it.
c) Create a giant array object, and shove your data in it until you actually want the GC to care about it again.
If you guessed c, you're right. Have a cookie. That one took a little thinking until I eventually gave in and asked somebody who had dealt with this before.
However, we now have proper hooks for things like rendering and... well, that's it. Per-object rendering hooks and timers are coming next.
Yeah, I said I'd get a build out this weekend. I lied, and am instead waiting until I have a pseudo-satisfactory demo.
EDIT: Oh, and I hacked in some more lighting work this weekend too. We now have crude, ugly and unsophisticated shadow maps. The eventual plan is to move from crude, ugly, unsophisticated shadow maps to very sophisticated, perspective split variance shadow mapping. But that could be awhile yet.