À quoi servent les shaders de coque, de domaine et de géométrie?

J'ai fait ma juste part de la programmation de jeux 3D pour mon (ancien) employeur, et aussi dans mes propres moteurs personnalisés pour mes propres jeux indépendants. Au début, j'ai commencé avec Direct3D 9 et D3DX9, qui faisaient à peu près tout pour moi et ne m'obligeaient pas à penser en termes...