Quote:

@Ventilator: the vertex format used by 3DGS already has 3(!) texture coords per vertex, thus no need to duplicate vertices.


yes, there are 3 texture coordinates in the vertex struct but this doesn't solve the problem in any way. you will notice it once you get real model data to play with. if the seams of the first uv-set and the seams of the second uv-set aren't the same then you will have to duplicate vertices. for light maps with their automatic atlas mapping they very likely won't be the same.

<edit>
with seams i mean the borders of the uv-patches. look at maybenew's example or here:



the light map uvs on the right have a lot more seams/borders. in this example the mesh has 24 vertices, the texture uv-map has 24 uv-vertices (but this is just a coincidence - most of the time the number won't be the same) and the light map uv-map has 72 uv-vertices if i counted them correctly. so how will you store them in a vertex buffer which contains only 24 vertices? you need to duplicate the vertices correctly!
</edit>

but it would be nice if you could post your source code so far since my first tries showed that i seem to be too stupid even for the most basic direct3d buffer stuff. maybe some of my problems are related to lite-c though. for example d3d9.h doesn't seem to be very complete.