Escrito 14 June 2005 - 01:11 PM
Las GeForce 4 MX son una evolución de un modelo más antiguo de nVidia, la GeForce 2 GTS, que no usaba shaders sino una implementación precursora más simple, el T&L (Transformation & Lighting), que era un motor de funciones fijas (sin capacidad de programación). Creo recordar que nVidia añadió un vertex shader 1.1 a la gama GeForce 4 MX mediante emulación en el driver (no suponía mucha carga para la CPU), pero no incluyó un pixel shader. Por eso fallan los juegos que lo requieran, porque tu tarjeta no tiene soporte por hardware. Prueba a bajarle los detalles al juego en cuestión, ya que lo normal es que tenga codificadas varias rutas para ejecutarlas en cada generación de tarjetas; si no te da opción, chungo.
Y ahora un poco de rollo xD:
La primera tarjeta gráfica que implementó pixel y vertex shaders fue la GeForce 3 de nVidia, que incluía pixel shader 1.1 y vertex shader 1.1, cumpliendo la "norma" DirectX 8.0 (desarrollada conjuntamente por Microsoft y nVidia).
Una evolución posterior fue la GeForce 4 Titanium (no confundir con MX), que implementaba pixel shader 1.3 y vertex shader 1.1.
La primera tarjeta de ATI que soportó shaders fue la ATI Radeon 8500, con pixel shader 1.4 y vertex shader 1.1. Microsoft extendió su versión de DirectX hasta la 8.1 para soportar este no tan pequeño avance. Los PS 1.4 se parecían bastante a los 2.0 que se usan mayormente ahora, pero como sólo los soportaba esta tarjeta (y sus derivados) tuvieron poca o nula repercusión en su día. Sin embargo, hoy sí hay algunos juegos que les sacan provecho: el Max Payne 2, por ejemplo, y el más reciente Battlefield 2, que no admite GeForce 4 Titanium pero sí Radeon 8500 (según la demo).
La primera tarjeta gráfica en implementar shaders 2.0 fue la ATI Radeon 9700, soportando DirectX 9.0 (ahora desarrollado por ATI y Microsoft) que apareció con meses de antelación en el mercado con respecto a su primera competidora de nVidia, la GeForce FX 5800 Ultra, que fue un fiasco y marcó el principio del éxito que ha tenido toda la generación Radeon 9xxx en el mercado.
Las nuevas ATI Radeon Xxxx usan básicamente shaders 2.0 pero soportan algunas extensiones y capacidades nuevas propias de ATI por lo que Microsoft sacó una nueva actualización de DirectX, la 9.0b (creo).
Y la gama actual de nVidia, que creo que está teniendo bastante éxito, la GeForce 6xxx, implementa shaders 3.0 (Shader Model 3), aunque no se diferencian tanto de los 2.0 en la práctica y en la actualidad ningún juego los usa (sólo el Far Cry que yo sepa, y no se nota nada). La nueva versión de DirectX que los soporta es la 9.0c.