8 nov 2006

Novedades de DirectX 10

Echándole un vistazo a este artículo podemos ver las muchas mejoras que traerán las especificaciones de DirectX 10.

Las más importantes son:
- Llamadas a la API más eficientes (hasta un 10%) y menos frecuentes (se evitan muchas llamadas para cambiar renderstates y similares): Reduciendo este número se aligera la carga de CPU sobre la parte gráfica de la aplicación, lo que permite aprovechar mejor ambos sistemas. También se permitirá el Geometry Instancing como es debido, dibujando muchos objetos repetidos (soldados, por ejemplo) con una única llamada a la API.

- Se especifican con mayor claridad algunas de las características de los dispositivos, por ejemplo (De esta no estoy seguro) se pide el modelo de Shaders unificados*.

- Shader Model 4.0. Se aumenta el número de muchas cosas (límite de registros, de render targets, de bytes en el vertex buffer...). Además, se permite el acceso a texturas sin restricciones desde cualquier tipo de shader (en el SM3.0, se podía acceder a texturas en el Vertex Shader, pero de forma poco eficiente y restringida).

- Geometry Shader: Una mejora muy interesante. Este shader se coloca entre el Vertex y el Pixel Shader, y tiene una característica que no tienen los otros dos: Puede aumentar o disminuir el número de elementos que pasan a la siguiente fase. Incluso puede acceder a memoria del sistema, para guardar o cargar elementos. Teóricamente, esto permitiría crear geometría de forma procedural, o hacer LOD de geometría en tiempo real, cosas así.


En resumen, todas estas características no sólo permitirán hacer juegos más bonitos, sino que permitirán hacerlo más fácilmente y con menos código (una vez conozcamos el API, por supuesto).
Dadas todas las características hardware que harán falta para soportar estas cosas, pasará exactamente igual que pasó con el tristemente famoso ejemplo de la GeForce 4 MX y su carencia de soporte para Pixel Shader 2.0.
Ya están empezando a salir tarjetas con soporte DX10, así que aconsejo muy encarecidamente a las personas que se estén planteando comprar una, que se aseguren de que ésta es compatible.

No obstante, recordemos que DX10 sólo se podrá usar en Windows Vista, así que puede que pase un tiempo hasta que se haga algo obligatorio. Pero vayan preparándose :).

--------------

* : Esto significa que los shaders de la tarjeta son polivalentes, y pueden actuar como Vertex, Pixel, o el nuevo Geometry, según las necesidades.

No hay comentarios: