I'm using Irrlicht 1.8.1, and Blender 2.71 to create my animations. I've just create a simple cube, added a default material to it, and i've mapped a texture to it using UV unwrap, all that in Blender.

Then i use I to save rotation+location+scale, when i pressa ALT+A, everything works fine, and when i press F12, i can see that the texture mapping are fine too.

When i export the mesh using OBJ format (which is not an animation) and load it as AnimatedMeshSceneNode or simple MeshSceneNode, Irrlicht render it as expected. Fine

But when i export the entire cube animation scene (checking the export animation option, and material option, etc) and loading it in Irrlicht (cube.x) the model is loaded and the animation started as expected but the TEXTURE ARE MAPPED INSIDE THE CUBE! Then the outside faces of the cube looks like transparrent letting you to see the texture mapped on the faces inside this cube.

Thought, I noted Irrllicht was able to load the well known "dwarf.x" animation model in its examples source codes.

Anyone knows how to fix this unwanted behaviour of the texture?


Graphics APIs have a function called "backface culling" where they omit drawing any triangle which is facing away from the viewpoint.

This is determined by looking at the winding order of the vertices after projection, classifying them based on if it's clockwise or counter-clockwise.

There is a mismatch between the winding of your source geometry and the winding that your current settings in your engine. Either change the winding your engine expects (if possible) or change the winding in your content creation package. That operation is usually called "unify/flip normals", or is achieved with an option in the exporter.

As you claim to be able to load a sample mesh correctly, you need to fix your mesh to agree with conventions, or fix the exporter in case it does it wrong.

  • \$\begingroup\$ In Blender DirectX export options, i saw an option "flip normals before exporting", i have not played with it yet .. and in irrlicht, the BACK_FACE_CULLING is an option that one can enable/disable in one line of code. I'm going to play with those things and i'll come back here to tell if it works.. It's cool from you to share that. \$\endgroup\$ – Irrmich Apr 13 '15 at 10:38
  • \$\begingroup\$ All the solutions you gave me are working, you're right, my graphics API is right-handed. My mistake has been to export an animation made for left-handed. I confirm disabling graphics Backface culling, or exporting the animation for right-handed all solved the problem. Thank you vert much, you really saved me. \$\endgroup\$ – Irrmich Apr 14 '15 at 3:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.