Multiple textures with single texturestage

I’m incredibly confused about how textures work with texture stages. I’ve got an actor with two textures, but only one texture stage (default). I need to replace one of the textures without affecting the other one.

I can change the texture by calling model.findAllTextures()[0].read(filename), but this replaces the image for ALL examples of that texture, even on other models entirely.

Using model.setTexture(texture,1) doesn’t work at all. On a standalone model, it replaces both textures at once. When I give the altered model to an actor with actor.loadModel, it reverts to the default textures anyway. If I call actor.setTexture(texture), it still replaces both textures at once.

Never mind, I found the solution. I needed to export my models in a specific way to make sure Panda3d kept the different textured objects as different geomnodes.