Para que são utilizados os sombreadores Hull, Domain e Geometry?

Fiz minha parte justa da programação de jogos em 3D para meu (ex) empregador e também em meus próprios mecanismos personalizados para meus próprios jogos independentes. Inicialmente, comecei com o Direct3D 9 e o D3DX9, que praticamente fizeram tudo por mim e não exigiram que eu pensasse em termos...