[caption id="attachment_162" align="aligncenter" width="300" caption="Yet another lighting change"][/caption]
One idea I've had is to store an object identifier with each vertex, while this would work it will increase the storage size of the meshes a lot and not be ideal for a cuda type architecture in which we want to limit branches. Another idea is to store an object identifier with a vertex count and thereafter a list of the vertexes. Or even better a list that stores a pointer to the start vertex and a vertex count. This last way would also make the acceleration structures rather efficient by adding a few more properties to the list.