Out of memory error with egg created with max exporter egg

Hello.

i exported a scene with the max-exporter-egg as described in the very good tutorial - but the preview after export failed with an out of memory error. the same happens when i try to display the generated egg file with pview.
I also tried egg2bam which showed the same out of memory error problem.

The scene i exported contains 614357 vertexes, 1192502 faces and consists of roughly 440 objects/nodes.

Did i hit some limit in panda or is there some known bug with the max exporter (max version 9, panda version 1.6.2) ?

Thanks in advance for any help.

Hmm, I wasn’t aware of any outstanding limits with large egg files, but there are two things in particular that have caused problems in the past:

(1) Accidentally tagging a complex scene with some collide flag, so that you end up with many thousands of CollisionPolygons (these can take up lots of memory), or

(2) Putting too many vertices into a single node. Most graphics cards can’t render more than about 65,000 vertices in a single call, so putting more than that in one node might be asking for trouble.

Still, it’s not supposed to crash. If you can post your large egg file somewhere I can download it from (maybe in compressed form), I’d like to try to reproduce the error.

David

Hello David,

thanks for your reply.
My videocard is a nVidia Quadro FX3600M and with other programs/engines it can handle the scene without problems.
The created egg file has a size of 292MB, maybe that gives a hint as to whats happening ?
Sadly i cannot give the egg file away, since i had to sign an NDA for the data in it.

Matthias

p.s.: i havent tagged anything with a collide flag

Well, your video card likely has nothing to do with the problem. How much system RAM do you have? What operating system are you using? How much swap space do you have configured? These are more likely to be relevant.

Another possible source of trouble occurs to me. One common mistake with exporting an egg file is to export it in “animated model” mode, which means a tag gets written into the egg file. I think the old version of the Max exporter did this every time whether you wanted it to or not. If this happens, Panda tries to load the egg file as one single node, which is likely to crash with such a very large egg file.

David

I have 4GB of ram, 3 of which are usable since im using Windows XP Professional 32bit.
I also have 2-4GB swapspace configured.

I “played” some more with the exporter. Even files that do not have a dart tag in them can not be loaded nor converted.

I am afraid i will have to give up on panda since this is only one part of a scene which will be about 15 times as big in total.

Thanks for your support David!

Matthias

Edit:
As a last test i tried to convert a .x file with the data using x2egg and that also ran out of memory.
It looks to me as if there is a huge problem with the datastructures of either panda or the egg files in memory.

I know it would be easier if i could just give you the file but since it seems to be a systematic problem, maybe this additional information can help you find the/a problem.

Huh? It doesn’t sound like a systemic problem to me. It sounds like something specific to your particular scene. We load thousands of different egg files every day without problems.

Most people load models into the graphics engine one piece at a time, instead of all-at-once in one massive egg file, so you are blazing a bit of a new trail here. Have you tried breaking the scene down into smaller pieces and loading the pieces individually? If nothing else, it may provide a clue as to which part of the scene is causing problems.

David

Or, if you manage to create an .egg file yourself which reproduces the problem (and for which you didn’t sign an NDA) we can see what the problem is, too.

To prove if it’s a problem with the complexity of the scene exported make a mesh of ~1400 verts (anything, e.g. a teapot and subdivide it if its needed) copy/paste it 440 times and try to export.
If pview fails to display that then you have a egg with the same problem that you can post here, and if there’s a solution to it pro-rsoft, David or the other Gods-o-Panda will find it.

Imho why not split the whole thing into 440 seperate pieces? If you name them smart you can load them all in one loop.

Thanks for your ideas.
The problem is that i am not a modeller/artist, im a programmer.
I simply can not do what you ask because i do not know how to do it.

David: i simply meant that since it happens when loading an egg file created with the exporter and it also happens when using a converter like x2egg that to me it doesnt look like a problem with the exporter/exported data as such but somewhere else.

regards
Matthias