Normally when using OpenGL on its own, I would just bind the textures to units in groups and draw what was needed before rebinding, but I realize I'm not really sure how to manage that in the context of Irrlicht.
Sample of what happens:

Is there any particular best practice for avoiding this in Irrlicht? Multiple render passes?
Thanks