LOD Love

Published March 15, 2006
Advertisement
Well, my partner found a nice perf problem with the way we were using Cal3d. We suspected there was something wrong there, b/c it just seemed too slow considering how many folks are using it successfully.

Turns out we were calling setLodLevel() every frame, which should be called in discreet steps instead.

This morning I added lod facets to the entities, so that they track their current lod, at what lod distance they switch, and how many lods they should use.

While debugging that, I found a nice perf problem on the crypt level, where for point lights, each visible entity was potentially doing a raycast to each light on the level each frame, rather than just those he might be near, so I fixed that as well.

I added keys & locked doors yesterday, and in the process added a field to each facet record that specifies whether that field should be reloaded from the db every level load or whether it remains customizable by the game and/or designer. This way you can place the same door entity, and customize its locked/unlocked state without having to make two entity types. On the other hand, if there is a facet that is permanent, like "type", this one is reloaded from disk on a level load, so that if that changes, there is no need to rebuild the level.
Previous Entry More Portal-rific
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement

Latest Entries

1.2 Almost ready...

1166 views

Sound Paths

1381 views

Stately Progress

1204 views

State Lines

1336 views

Pulsing

912 views

Return to The Ship!

1053 views

Cameras & Boxes

1173 views
Advertisement