DirectX

DirectX
DirectX

Fecha de creación:
5 de mayo de 1998 (DirectX 5.2 Compilación 4.05.01.1998)
Versiones:
Última versión 11 (Compilación 9.29.1962)


DirectX es una colección de API creadas y recreadas para facilitar las tareas relacionadas con multimedia, especialmente programación de juegos y vídeo en la plataforma Microsoft Windows. A pesar de ser desarrollado exclusivamente para Windows, se está desarrollando una implementación de código abierto de su API para sistemas Unix fundamentalmente dirigida a la ejecución de juegos desarrollados para Windows bajo sistemas Unix.

DirectX

DirectX es una colección de API creadas y recreadas para facilitar las complejas tareas relacionadas con multimedia, especialmente programación de juegos y vídeo en la plataforma Microsoft Windows.

DirectX consta de las siguientes APIs:

  • Direct3D: utilizado para el procesamiento y la programación de gráficos en tres dimensiones (una de las características más usadas de DirectX).
  • Direct Graphics: para dibujar imágenes en dos dimensiones (planas), y para representar imágenes en tres dimensiones.
  • DirectInput: para procesar datos del teclado, mouse, joystick y otros controles para juegos.
  • DirectPlay: para comunicaciones en red.
  • DirectSound: para la reproducción y grabación de sonidos de ondas.
  • DirectMusic: para la reproducción de pistas musicales compuestas con DirectMusic Producer.
  • DirectShow: para reproducir audio y vídeo con transparencia de red.
  • DirectSetup: para la instalación de componentes DirectX.
  • DirectCompute: lenguaje e instrucciones especiales para el manejo de cientos o miles de hilos de procesamiento, especial para procesadores de nucleos masivos.

A pesar de ser desarrollado exclusivamente para la plataforma Windows, se está desarrollando una implementación de código abierto de su API para sistemas Unix (en particular Linux) y X Windows System por el proyecto WineHQ, del cual existe fork propietario, Cedega, desarrollada por la empresa de software Transgaming y orientada a la ejecución de juegos desarrollados para Windows bajo sistemas Unix.

Últimas Versiones

DirectX 10

Como cambio mayor en la API DirectX, DirectX 10 es lanzado junto a Windows Vista y es exclusivo de este sistema; versiones anteriores de Windows no pueden ejecutar aplicaciones exclusivas de DirectX 10 de manera oficial.

Muchas partes de la API fueron sacadas en el último DirectX SDK y se mantienen únicamente con motivos de compatibilidad: DirectInput fue retirado en favor de XInput, DirectSound fue reemplazado por XACT con la consecuente pérdida de soporte de aceleración de hardware, debido a nuevas características en la pila de audio de Windows Vista, la cual renderiza el audio directamente al procesador.

Para mantener una compatibilidad hacia atrás, DirectX de Windows Vista contiene muchas versiones de Direct3D:

  • Direct3D 9: emula el comportamiento de Direct3D 9 como lo era en Windows XP. Las ventajas del nuevo Windows Display Driver Model de Vista no son mostradas a la aplicación si no están instalados controladores WDDM.
  • Direct3D 9Ex: permite acceso total a las nuevas capacidades de WDDM (si están instalados controladores compatibles con WDDM) a la vez que se mantiene compatibilidad con aplicaciones Direct3D existentes. La interfaz de usuario Windows Aero trabaja en D3D 9Ex.
  • Direct3D 10: Diseñada alrededor del nuevo modelo de controlador de Windows Vista y proporcionando muchas mejoras a las capacidades y flexibilidad de renderizado, incluyendo el Shader Model 4.

Direct3D 10.1 es una actualización incremental de Direct3D 10, la cual se incluye y requiere de Windows Vista Service Pack 1. Esta release sólo determina algunos estándares de calidad para los fabricantes de tarjetas gráficas, a la vez que proporciona a desarrolladores más control en la calidad de la imagen. También incluye una serie de nuevos requerimientos mínimos al hardware, como Shader Model 4.1 y operaciones de punto flotante de 32-bit. Direct3D 10.1 soporta completamente el hardware Direct3D 10, pero para acceder a las nuevas características se necesita de una tarjeta nueva.

Sin embargo hay que tener en consideración, que a pesar de que Microsoft trato de mantener en DirectX 10 cierta compatibilidad hacia atrás, hay programas (especialmente videojuegos creados antes de la aparición de DirectX 10) que requieren tener instalado algunos de los archivos de DirectX 9; pero los cuales no fueron considerados que estuvieran presentes en la versión DirectX 10. Debido a ello igualmente a los usuarios de Windows Vista, se les sugiere también haber instalado la última versión de DirectX 9.0c (actualizaciones bimensuales); con el objetivo de mejorar la compatibilidad entre Windows Vista y los programas que requieran DirectX 9 (ambas versiones de DirectX son compatibles, ya que solo serán instalados los archivos que no están presentes en la versión posterior de DirectX; con lo cual DirectX 10 aún permanecerá como la versión instalada en Windows Vista).

DirectX 11

DirectX ® 11, la próxima generación de tecnología de gráficos, llega con Windows 7. Esta es una gran noticia para los jugadores ya que muchos de los juegos más novedosos para Windows aprovechan al máximo esta tecnología para crear mundos de manera más inmersiva y detallada, tanto como para mejorar las experiencias visuales. Los desarrolladores de juegos utilizan las nuevas características para crear mundos ricos, personajes realistas, y hacer más fluido el juego.

DirectX 11 características, incluyen:

  • Teselación - Teselación se ejecuta sobre la GPU para calcular una superficie más suave curva que resulta en imágenes detalladas de manera más gráfica, incluyendo más personajes llenos de vida en los mundos de juego que explorar.
  • Multi-Threading - La capacidad de las escalas dentro de las CPUs Multinúcleo permitirá a los desarrolladores aprovechar mejor el poder dentro de ellas. El resultado sera FPS más rápidos para los juegos, sin dejar de apoyar el mayor detalle visual posible.
  • DirectCompute - Los desarrolladores pueden utilizar la potencia de las tarjetas gráficas discretas (De gama Baja) para acelerar los juegos y aplicaciones. Esto mejora los gráficos, al mismo tiempo permitiendo a los jugadores acelerar las tareas diarias, como la edición de vídeo, en su PC de Windows.


Mientras que Windows 7 es totalmente compatible con los juegos y el hardware que utilizan las versiones anteriores de DirectX, las características del nuevo DirectX 11 están disponibles solo con DirectX 11 y una tarjeta gráfica compatible con juegos diseñados para aprovechar esta nueva tecnología.

DirectX 12

Surge de forma exclusiva con el lanzamiento de Windows 10 en 2015, con soporte añadido posteriormente para Windows 7 a partir de 2018. Proporciona un conjunto de funciones de bajo nivel y por tanto un mejor y mayor acceso al hardware. Mejora de rendimiento en comparación a su antecesor DirectX 11

  • DirectX 11: Tiempo total por hilo de ejecución es 6.6 milisegundos
  • DirectX 12: Tiempo total reducido a 3.2 milisegundos

Entre los diferentes tipos de hardware que soportan DirectX 12 se encuentran las tarjetas gráficas Nvidia a partir de la serie GTX 400, las AMD a partir de la serie HD7000 y los chipset Intel HD después de Hashwell para el caso de las PC, y Xbox One.

Permite el uso simultáneo de múltiples hardware de procesamiento grafico sin el empleo de tecnologías como SLI y Crossfire. De este modo se puede usar la GPU y el procesador gráfico integrado en la CPU de forma simultánea, haciendo uso de recursos de hardware que de otro modo estarían en total inactividad y sin poder ser aprovechados.

Como principal desventajas de DirectX 12 esta el hecho de que introduce un mayor nivel de complejidad para los desarrolladores debido a su arquitectura enfocada más en la optimización y el acceso a funciones de código de bajo nivel. Esto aumenta el número de errores que pueden cometer los programadores durante su desarrollo.


Enlaces externos

www.microsoft.com/windows/directx

Referencias

https://www.trustedreviews.com/opinion/directx-12-vs-directx-11-what-s-new-2922591 https://devblogs.microsoft.com/directx/announcing-new-directx-12-features/