• Advertisement
Sign in to follow this  

Scene management?

This topic is 3938 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Right now everything I'm working on uses X files and nothing else, I'm relatively happy with it. But I'm wondering exactly what advantages BSPs or CSGs will provide to levels? Are there any good resources (books, tutorials and thel ike) on writing loaders for such formats, to load Quake 3/Doom 3 bsps or anything like that? What limitations would there be if I used one BSP/CSG format over another? Also would it be too difficult to implement real time lighting/shadowing with any of these formats? Difficult for a hobbyist programmer that is. Thanks for any help :) [Edited by - chillypacman on July 13, 2007 10:58:42 AM]

Share this post


Link to post
Share on other sites
Advertisement
.x files don't scale well to level geometry (or other large geometry data sets) because they're essentially just blobs of triangle soup. A BSP tree, or other spatial partitioning data structure, provide the capability for the geometry to be easily traversed for things like visibility testing, collision testing, et cetera.

Google can reveal plenty of documentation on the specific formats used by specific games' implementations of the BSP tree or other data structure.

They don't necessarily provide any benefit or disadvantage to how you implement shadowing or other lighting techniques; that depends more on the technique itself and how it needs to interact with the geometry.

Share this post


Link to post
Share on other sites
Quote:
Original post by jpetrie
.x files don't scale well to level geometry (or other large geometry data sets) because they're essentially just blobs of triangle soup. A BSP tree, or other spatial partitioning data structure, provide the capability for the geometry to be easily traversed for things like visibility testing, collision testing, et cetera.

Google can reveal plenty of documentation on the specific formats used by specific games' implementations of the BSP tree or other data structure.

They don't necessarily provide any benefit or disadvantage to how you implement shadowing or other lighting techniques; that depends more on the technique itself and how it needs to interact with the geometry.


Well then couldn't I just makea series of x files and align them so they make a full world? Or would that also be a silly way of doing things?

Share this post


Link to post
Share on other sites
Yea, it'd be silly. You'd have an fairly extensive export process to go through to split the level into segments, which you'd need to do by hand (ugh) or by writing tools to do automatically (also ugh, because you don't get much from it). When you're done, you'd still just have a bunch of smaller triangle soup files. Doing collision and visibility is even worse now, because not only to do you track each "chunk" of the level in some kind of structure (which would optimally be some kind of spatial partitioning scheme anyway), but within each chunk you still have the same problems as before -- the .X is a unorganized soup of triangles, so collisions and such become, for the most part, O(N) on the triangle count, or worse.

Share this post


Link to post
Share on other sites
So would it be better to write a loader for the Quake 3/Doom 3 BSP or Half-Life/Half-Life 2 BSP? Which would be more manageable?

Are there any potentially better scene formats besides the above mentioned?


edit: actually are there any good open source (preferably LGPL) directx based scene loaders that would be worth looking into?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement