They're glowing!!!!

Daily 09/16/03

Thanks to Scott, we've got the star halos working right. Check this out. I think we're all set with the demo graphics now.

I was notified by Cari that we're leaking memory like a sieve. Time to fix that. No doubt the scene graph isn't being cleaned up properly. Ugh. I'll start looking into optimizations after that. There are few I know I want to do.

  1. Support for temporary objects
    I don't want to stick laser shots and explosions in the main scene graph. They're too dynamic.
  2. Mesh manager
    We're loading the same mesh more than once now. We've already got a manager for textures and it's working out great. This will also increase our load time.
  3. Put the planets right way up
    If you've noticed from the other screenshots, the planets are on their sides.
  4. Planet lighting
    The Art Czar wants  the planets really dark. Essentially only lit by the stars.

Going through the memory leaks, I determined that I HATE the Microsoft D3DXFRAME architecture for a scene graph. Maybe a scene graph is an improper use of the frame. Anyways, I"ve decided to make one more drastic change to the scene graph. I'm going with a true tree format. Check out the differences.


Frames (modeled after D3DXFRAME)


Tree

The main difference between the two is in maintainability. With the tree, each node only knows about its first sibling and its first child. In the tree format, each node only knows about its children. Notice that there aren't any arrows that connect the grid and game layers. This is the way it should be. When you remove a node, you don't have to worry about the rest of the graph. Just remove the node and your done.

Changed the scene graph and the lights are broken again. What's up with that? Why are they so darn finicky? Time to break down and spend a couple hours debugging. Ugh... I hate that. It turns out that there's been a bug in the system all along. Some of our objects weren't setting their material. That's been fixed now and I'm going to check in my stuff.

After bastketball, the Art Czar hijacked me and made planet lighting the #1 task next. Not too bad. I wanted to do it anyways. Here's the mockup of the lighting he'd like to see:

I think we can definately get there. It might take some per pixel lighting which I think can only be done in shaders. Here's our first crack at it:

Notice the jaggies on the planet. We thought we'd minimize those by upping the tri cound. Here's our second try:

The jaggies are smaller, but still not what we want. I"ll have to do some more work on it. It might have something to do with the normals, but I'm not sure. We're toying with the idea of making this a texture operation with a light map. That would be fine and the artist can adjust the the fade. That'll take some research into texture transforms to keep the light side oriented towards the star while the planet turns. That may be the best way to go because it's relatively low CPU and it'll work on low poly models.

Kris, another talented artists, gave me an asteroid. Wanna see it?

That turned out great. Wouldn't you like to see that in the game. I'm sure we can come up with a use for it :)

Well, I"m off to check in my stuff finally and then we have the GalCiv chat tonight. I'll probably try to knock off more tasks from the short list above, but I think I"ll mostly take it easy. Gotta get rested for Homeworld2 tomorrow :)

9,370 views 3 replies
Reply #1 Top
Heh...memory leaks are evil
Reply #2 Top
Looking very good. I'm getting all excited about Galciv 2 now. It may not yet be announced. Not yet funded. At least 2 years away. But boy does it look good!

Will weapons fire be added as a light source?

Also will ships have lighting so that you can see them even on the dark side of planets?

Paul.
Reply #3 Top
Glad to hear your excitement. We're really excited too.

Yeah, currently the weapons do have lights. They're pretty cool to see zooming by a ship. The explosions will also have a light. At least we think they do. We have some more work to do to tweak them. As far as the ships go, I think Brad wants them to be lit a little bit differently from the rest of the world. We'll make sure they are bright so that they can be seen.