Posted: 13th Jun 2007 20:02
Thanks in advance to everyone who reads this.

so... I was in the process of building a DBO limb parser that would create separate objects from limbs and entities and then applies all kinds of effects and/or shaders to them based on either/both the texture name of the limb (using naming conventions) or/and the limb data embedded into the dbo file itself...

All is going well, and then it suddenly occurs to me that I'm effectively re-inventing the wheel since IncaPro (IncaProTestCull4) already does this all quite nicely.

However, the system I'm using has a few differences:

1) The culling algorithm it uses culls the objects based on object size so that smaller objects cull away faster than larger objects. Objects fade away as they get further away as well (again, relative to size) instead of just vanishing when they reach the cull distance. I doesn't _seem_ like IncaPro uses size in its culling algorithm, but maybe I just haven't dug deep enough into the code yet

2) It also uses DBPro's (v6.6) built-in frustum culling.

3) It uses Sparky's Sliding Collision DLL instead of NG

... and there a few other differences of course...

But, my main question is this... Has this already been done as well? Am I re-inventing the wheel again? I've searched through the forums and couldn't find an Inca-like code base for Sparky's... but if it's already been done, I was sure someone here on the forums would know...

If this hasn't already been done and if people would want something like this, I'll keep working on it (then look for a future "AztecPro" release)


Thanks!
Posted: 14th Jun 2007 1:23
*crickets*
Heh, I'm either feared or hated
Posted: 14th Jun 2007 21:10
I don't think it's that, it's probably that nobody capable of answering your question (like myself) has stumbled upon this yet...
Posted: 14th Jun 2007 21:46
You could probably use LiT's culling code from the Code Snippets forum (http://forum.thegamecreators.com/?m=forum_view&t=67369&b=6). That culls limbs outside of the viewing frustrum - it should need very little changing to fade out objects based upon their distance/size.
Posted: 18th Jun 2007 20:09
Thanks IanM,

I knew someone had done something very similar to this before - just couldn't find it. Currently I've got distance- and size-based culling working which pre-culls objects before dbp's built-in Frustum culling. I'd like to do this the other way around (do the internal frustum culling first), but there's currently no CULL command available to us.

I also tried doing the LiT's frustum culling first, then distance/size culling on object still visible, and then turning off the built-in frustum culling... but it was just too much of a performance hit this way.

Ah well... Next stop: culling with potential visibility sets using 3dws classnames...

Thanks again IanM

- btw your matrix utils Rock Out Loud