I (like everyone else it seems) am in the process of creating a lightmapper. With my current implementation, every quad (could be a tri) recieves its own little lightmap. Pretty standard, really.
My problem is that vertices that are shared between quads have unique UVs (depending which quad is being rendered). To the best of my knowledge, OpenGL only allows 1 UV per vertex, meaning that if I have a single “physical” vertex shared by 4 quads, I actually need to pass 4 vertices to OpenGL, all the same, except for their UVs.
I am afraid of transforming the same vertex multiple times, just to get the UVs correct. Is there a way that I can specify multiple UVs per vertex?
I anticipate that for a 5000 quad mesh, I might have to transform 20000 vertices!! (4 vertices per quad)
A similar problem occurs in character skinning where a the vertices at texture seams have different UVs, but the same spatial and normal information.