Yet Another Blender Egg Exporter (YABEE)



Run pview from the command line, it should warn about missing textures. Also edit the .egg file with your text editor and see if there are entries near the top, and that they contain valid relative paths.


pview has no warning about missing textures from the command line and there are tags with valid relative paths.


May be it’s something with texture modes? Can you post here entry?
Also in “bake” texture processor I found a bug with texture names, if you use it then try to switch on “simple”.


I’ll do one better:

hyperion.egg is my “original” which textured just fine

hyperion2.egg is the one I rigged and this is the one where the textures are not showing up.


Here is the texture entry:

I have another question. My plan is to procedurally control the joints (they are 2 axis gun turrets that follow targets). I’ve set up movement constraints in blender. Is there a way to import blender’s armture constraints into panda, or so I need to set that up in code?


Your model contains many “modulate” texture enties, I think that really not all of them is simple textures (yabee still works mostly with the simple one) - seems that I need to see your materials setup in the Blender. It’s would better if you can send me your model (rupanda3d at gmail)

As I know .egg format doesn’t contain features to do this, so you should to setup it in your code


New experimental version with automatically baking of AO and shadows. YABEE makes new UV layer for this.


Note, however, that you should be able to save out your constraint values as tags and then read those in your code, which might at least make the process of transferring the values a little easier.


I’m having problems with exporting assigned textures.
I’ve tried YABEE r13 with Blender 2.66 r54837.
Only one texture gets TRefs on the polygons and no texture is defined anywhere at all. There are no errors from YABEE, only from pview complaining about references to an unknown texture.

My blend file can be found here:
Two texture images are included.

Thanks so far and keep up the great work!


Your model has revealed several problems, I’ve made fix for some of them and uploaded updated version, but before exporting you still need to uncheck “specular” and “geometry” in the texture options - for the time being YABEE can recognise only one option per texture.


forum topic title needs updating


Ok, I’ve tried out the new exporter 13.1 and I also changed the textures to use only one attribute each.

In the following blend file you’ll find 4 textures packed: one RGBA for leafs and three RGB for the bark color, normal and specular.

Problems found so far:

  • I couldn’t find a way to set the alpha blending modes or texture filter modes. By default YABEE exports minfilter and maxfilter as LINEAR_MIPMAP_LINEAR (which you don’t want to have on normalmaps and RGBA textures in some cases) and no alpha scalar.

  • When turning on lights in pview all leafs (planes with RGBA textures) disappear completely. They pop up again if I disable lighting or if I enable lighting in conjunction with per-pixel-lighting.

  • The ground has no texture, but a material with green color assigned. The colors seem to get exported correctly in the egg file, but upon loading in pview the ground is all white, unless you turn on the lights. I think this is more of a Panda3D bug, but I’m not sure.

If you need I can provide you with smaller test scenes which you could use for testing in the future.


The Blender’s texture settings is quite different from Panda, so I can only “interpret” better or worse some of Blender settings.
I think we can have more or less close result if we attach GLSL shaders generated by BGE to the Panda’s EGG format. Relevant topic: [Blender as a GLSL editor)

As for your problems:

  1. For disable min/mag filter record you can uncheck “MIP map” in Blender’s “Image Sampling”.
    What you mean by “no alpha scalar”?

  2. As I say, I cant fully simulate a Blender’s material behaviour by a Panda’s standart texture modes. For this particular case to see leafs you should set the material alpha to 1.0

  3. It’s not a bug it’s a feature )) Indeed I don’t know why materials shows only when the light enabled. If you really need to see color without lighting, you should remove material and do paint vertex colors.

That would be wonderful


Thanks for the fast reply.

I found the MIP map setting but I had no time to test it yet.

You were right about the alpha setting on the leafs! I feel silly not being thinking about that :smiley:
Still, this is a serious inconsistence between Blender and Panda3D. In Blender you need to set the alpha to 0 in order to make a texture take over that property. Having it the way we have it now makes breaking the blender material necessary in order to export correctly.

By alpha scalars I mean the depth sorting method as they’re described here: … d_Blending
If none is stated in the egg file, Panda takes the default, which often looks buggy and ugly.

For all those settings you can only guess from Blender, how about adding a few panels in Blender where you could set all the extra things? I’m thinking of a panel that offers both an automatic value determination (as it is right now with most things), and a “manual” setting, so that you can override any settings. This would solve issues like the missing texture filter selection or the alpha value being interpreted wrong. You could also integrate backface culling and tags in a way that doesn’t require searching all around the Blender UI. On the other side, it would require quite some work :-S

BTW: I just posted the white model issue and a request for changing the default alpha sorting mode in the feature requests thread.

Big thanks so far.


Aha. Any idea on what Blender’s options we can use to switch alpha scalar?

Yes, I thought about how to make a separate panel for the specific settings, but this can be time-consuming


Blender has nothing similar I fear. There is a drop down menu called “alpha blend” in material -> game settings (being in blender game mode), but the entries have nothing in common with Panda’s alpha blending modes.


I’m sure there’s a way to perform that “translation”.


Blender 2.4 used to have this setting here:

Chicken supported most of the Texture Face settings.

I think that in Blender 2.5+, you need to switch from “Blender Render” to “Blender Game” in the top panel, and then go to Material > Game Settings > Alpha Blend to access these settings. This is also where double-sided rendering is enabled.
These modes are named a bit differently, but can still all be represented in .egg files.

You may need to use the lower-level ColorBlendAttrib for some of the modes, but this should not be a problem as the .egg syntax also supports this.


I agree that options are too scattered on the Blender’s interface and not obvious. I think I’ll try to look how I can gather it all in one place.


Hmm, well, it’s probably best to support these settings natively anyway, instead of introducing yet another interface that Blender users would have to get acquainted with. It’s not ideal, but it’s still the proper way.