Boy, what a productive evening. I spent most of it debugging the darn
lighting problem that I had earlier. I finally figured it out. The SceneGraph
rendering code was severely broken. Some things were being drawn before others
were finished. It was a mess. Anyways, fixed it up and now everything is back to
Except. We have serious problems with our lighting scheme. The graphics cards
that I play with (including Cari's) can only support up to 8 lights turned on at
one time. This explains some of the strange lighting behavior I was seeing even
before the scene graph. Some lights would turn on and off when object entered or
left the scene. This is because every planet and every star is a light source.
We've got a heuristic in there now to try to control the lights, but it will
have to be overhauled so that we don't turn on more than 8 lights at a time.
This shouldn't be too much of a problem at max zoom, but if it turns into a
problem, we may have to do without the planet lighting or star lighting.
I'm pretty happy with the initial implementation of the scene graph. There's
still a lot of work to be done, but now at least I can add child nodes with
ease. I also took advantage of the pre/post render to do some lighting tricks
with the stars so that they always looked lit regardless of our lighting
Here's an example of some of the simple things we can do now that we have a
scene graph. This first example took me 2 minutes to hook up and 5 minutes to
come up with the artwork. Don't blame me, I'm not an artist. This is what
happens when the art czar fails to reply to my instant message at 11:30 at night
Pretty flowers aren't they. They're gears actually. Here's a
After seeing that, I decided to stick with modeling the world.
I'm better at that than trying to create new art. So, here's my crack at a
real-world model. I think you'll like it
WARNING: 16MEG VIDEO LINK
What your seeing is a real live moon orbiting a red planet. What
you can't see is that the moon orbits faster than the planet and it's local
rotation is in the opposite direction of the planet.
Well, that's enough for tonight. I feel much better about the
moon than the star halo thingy. That's why I didn't do the rings. I'll leave
that to the art guys.