Problem: Lightmaps

I’ve been trying to figure out how I can apply lightmaps to a level that is broken up into sections.

Ideally, I would love to use an external material library, where all of the level’s materials are linked from. Each level section will use many of these linked materials.

The question is, how can I apply baked lightmaps to these level sections? I can’t think of a way to apply lightmaps to a level section that uses many external materials, because I cannot change the materials.

Making hundreds of materials with versions for each level segment of each level doesn’t seem like a valid option either.

I’m new at GLSL, and was hoping that I could make some kind of 2D filter to apply the lightmaps, but I don’t think it’s possible in a 2D filter to get the information necessary to do such a thing.

I then though of applying a custom shader to the level segments, however, I don’t think there is a way for me to communicate the lightmap texture to the shader without tampering with the materials which defeats the purpose.

My last resort idea was to use a duplicate meshes, with alpha and z-offset; but that sounds cheezy and terribly inefficient (doubles the number of polygons).

I don’t want to just ditch the idea of lightmaps, because they are important in making the game look pretty.

Can anybody think of any possible techniques?