Geometry shaders
Appearance
Geometry shaders are a new kind of GPU program introduced in DirectX 10. They differ from vertex programs in that they not only have access to the vertex data for one vertex - position, normals, texture coordinates - but have access to the vertex data for all the vertices in a face. This means that, for example, the tangent data for an ever-changing mesh can be calculated on the GPU (which requires access to 2 vertices with texture coordinates), meaning faster performance for applying effects such as normal mapping to such meshes.