I want to implement a geometry shader which needs triangle adjacency information. I found an algorithm which expands an index buffer to include vertices of neighboring triangles. But obviously this only works for meshes with shared vertices, so it won't work for every model. For example, a simple cube already needs to be created from duplicated vertices, if one wants to get the normals right.
Any ideas?