A mi estos temas de versiones de DirectX, shaders etc me parece todo una vergüenza.
Sinceramente, estoy muy cansado de que cada generación de gráficas y/o DX nos prometan efectos nunca vistos y a más velocidad que la anterior. A la hora de la verdad nanai de la china, si nos fijamos bien la generación DX9 viene a suponer 'efectos cinemáticos a alta velocidad' 'iluminación acojonante' 'modelos super detallados'. Miramos la generación DX7 y, oiga, PERO SI ES LO MISMO, CARAJO, nos están vendiendo lo mismo que nos vienen prometiendo una y otra vez. Y a veces uno se lleva las manos a la cabeza al ver la más flamante VGA pegar unos tirones de espanto en un supuestamente superavanzado juego aplicando un simple efecto de humo o transparencia… ¿a quién no le ha pasado?
Sólo hay que ver la enorme diferencia entre las demos tecnológicas de NVIDIA o ATi y la mayoría de juegos, tanto en velocidad como en calidad. Sin ir más lejos, la demo 'Chameleon' de las GF3 o la 'Wolfman' de las GF4... ¿qué juegos presentan esos niveles de detalle? Comprendo que se trata de códigos altamente optimizados, pero joder, luego uno ve juegos con cada churro de polígonos por ahí a 20 fps que se sonroja vamos...
Se suponía que las GF3 con su motor de geometría programable iban a ser la panacea y poco tiempo después nos sacan el 'cineFX' de las narices para que, a la hora de la verdad, ningún juego dé la calidad esperada (y prometida) nisiquiera con una GF3. Y ahora parece que tengamos que flipar porque el Half Life 2 vaya a ir a 60 FPS en toda una Radeon 9800 Pro, de verguenza.
Y es que es mucho más cómodo esperar que MS vaya 'encapsulando' funcionalidad (a costa de rendimiento) en sucesivas versiones de DX y que los fabricantes de gráficas lo plasmen en silicio (de forma más o menos eficiente) que currarse algo de código. Entiendo que DX9 permita dibujar del tirón, por ejemplo, una encina o un alcornoque con una función tipo dx_draw_tree(tree_type) xD o un dinosaurio entero pero joder, seguro que con una versión anterior también es posible, aunque sea a costa de algo más de trabajo. Pues con los efectos igual, es muy cómodo hacerlo todo a base de DX y lo peor es que ni por esas termino de ver un juego que me impacte lo más mínimo desde hace años...
Cierto es que con el tiempo que dura el desarrollo de un juego o motor actual, desde que se comienza a programar hasta que se termina se habrá pasado por lo menos por 2 versiones de DX y 3 generaciones de VGAs y el resultado de todo esto no es muy bueno: códigos genéricos altamente ineficientes, desaprovechamiento de las ventajas particulares de determinadas VGAs en favor de un 'mínimo común denominador' aceptable, interminables sucesiones de drivers, incompatibilidades, parches etc...
Hablo principalmente de NVIDIA porque me resulta más familiar, pero vamos, que todo es bastante extrapolable a ATi y demás (por desgracia, casi nadie más).
Podría tirarme 2 horas comentando el tema, porque sinceramente merece profundas reflexiones, pero mejor corto ya 
Salu2