Do czego służą shadery Hull, Domain i Geometry?

Zrobiłem uczciwy udział w programowaniu gier 3D dla mojego (byłego) pracodawcy, a także we własnych silnikach niestandardowych dla moich niezależnych gier. Początkowo zacząłem od Direct3D 9 i D3DX9, które prawie wszystko dla mnie zrobiły i nie wymagały ode mnie myślenia w kategoriach...