Pipeline Basic Questions Concernign Meshes and Level Design

Hello, I’ve been looking through the site and there’s some great stuff in here. One of the problems I’ve been having is finding a good engine that we can quickly get art from Max or Lightwave quickly into the game engine.

Would anyone please briefly outline how this is done with Panda?

Also, concernign level designs. Is it possible to do the entire level design in Max or Lightwave and import the level into the engine?

Does the engine use something besides BSP trees?

Thanks for your time.

After creating geometry in max, you use a max plugin to create a file in panda’s file format. Panda can read this geometry.

Actually, there aren’t any modern engines that use BSP trees. Panda stores the scene in a hierarchical representation (a scene graph). It uses that for frustum culling, but not occlusion culling. Occlusion culling in panda is currently not automatic (ie, you have to hide rooms when you know they’re not visible.)

Hi Jadams, here’s a couple of links from the manual that should help you:

panda3d.org/manual/index.php/C … Studio_Max

panda3d.org/manual/index.php/C … _from_Maya

Hope they help.

Tiptoe,

Thanks for the info but this doesn’t help me. I’m not concerned with character geometry/animation. Any engine worth its salt has some method for getting anmiated characters in with relative easy. Our problem is finding an enging that performs well and lets us get level desing geometry in smoothly and still let the artists use their high end tools. Let me ask it this way, are all the level designs people implement rely upon bsp trees?

panda doesnt know nor use bsp-trees. panda just knows 2 things: geometry and animated geometry(well basicaly).(so you can make a model into a level-part or the other way round during runtime,since panda doesnt care if it’s “level” or not. for panda it’s just a node)
to answer your question: -no bsp & you can use max maya blender and every other which can export to a panda-usable format.

since panda doesnt use the bsp trees you dont have the bsp restrictions either.
just design,model,export and load it into panda =)

like josh already said. panda’s culling is different from the usual bsp/octree stuff but it works quite nice if you use it the right way.

In terms of Panda’s built-in render culling, here are the specifics.

Panda uses view-frustum culling at the tree level to optimize the scene against considering objects that aren’t in the field-of-view. The tree used by the view-frustum algorithm is the render tree itself; i.e. the bounds of each node on the tree are calculated and the algorithm stops if the bounds of an entire branch are completely out of view. So you can explicitly build the tree in the way that is most optimized for your application.

The other culling you might want is occlusion culling (to cull objects that are guaranteed to be totally obscured by another object). There’s a PortalNode class to aid with this (which essentially renders a hidden room anyway if it could be seen through a window or doorway), but in general Panda does not automatically do any culling more complicated than view-frustum, since it has no built-in concept of ‘rooms.’ Other culling algorithms must be implemented by the developer who is using Panda.

Panda’s egg file format is robust for describing geometry and animated characters, but it’s not really something I’d consider a level-layout file format. There is a level designer built into Panda (see the manual for more information), but it is not as robust or integrated into Panda as, for instance, UnrealEd is integrated into Unreal. In general, this is another feature that developers tend to build for themselves; given the variety of projects for which Panda is used, it’s difficult to imagine a built-in level editing tool that would be both general enough to satisfy everyone’s needs and powerful enough to be more useful than hand-rolling your own level description.

Best of luck on your project!
-Mark