# DirectX

DirectX es una colección de API desarrolladas 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 API:
* 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 núcleos masivos.
* DirectML: para el procesamiento de inteligencia artificial y más características que se incorporarán en la actualización de primavera de 2019 para Windows 10.
* DirectX Raytracing (DXR): es una característica para DirectX de Microsoft que permite el hardware de trazado de rayos en tiempo real, un avance significativo en gráficos de computadora visto por primera vez a nivel de consumidor en GPU, como la serie Nvidia GeForce 20 anunciada en 2018. DXR no se lanzará como parte de una nueva versión de DirectX, sino como una extensión compatible con DirectX 12.
La actualización de Windows 10 de octubre de 2018 incluye la versión pública de DirectX Raytracing. 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 Window 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.

## Historial de lanzamientos

| Versión de DirectX | Número de versión | Sistema operativo | Fecha de lanzamiento |
| DirectX 1.0 | 4.02.0095 | | 30 de septiembre de 1995 |
| DirectX 2.0 | | Venía incluida solamente con algunas aplicaciones 3rd party | 1996 |
| DirectX 2.0a | 4.03.00.1096 | Windows 95 OSR2 y NT 4.0 | 5 de junio de 1996 |
| DirectX 3.0a | 4.04.00.0070 | Windows NT 4.0 SP3 (y posteriores) última versión para Windows NT 4.0 | diciembre de 1996 |
| DirectX 3.0b | 4.04.00.0070 | Esta fue una actualización menor de la 3.0a que resolvía un problema cosmético con la versión japonesa de Windows 95 | diciembre de 1996 |
| DirectX 5.2 | 4.05.01.1600 (RC00) | Windows 95 | 5 de mayo de 1998 |
| DirectX 5.2 | 4.05.01.1998 | Exclusiva para Windows 98 | 5 de mayo de 1998 |
| DirectX 6.0 | 4.06.00.0318 | Windows CE para la Dreamcast | 7 de agosto de 1998 |
| DirectX 8.0a | 4.08.00.0400 (RC14) + parches de instalación | Última versión para Windows 95 | 7 de noviembre de 2000 |
| DirectX 8.1 | 4.08.01.0810 4.08.01.0881 (RC7) | Windows XP | 12 de noviembre de 2001 |
| DirectX 9.0 | 4.09.00.0900 | Windows Server 2003 | 19 de diciembre de 2002 |
| DirectX 9.0a | 4.09.00.0901 | | 26 de marzo de 2003 |
| DirectX 9.0b | 4.09.00.0902 (RC2) | | 13 de agosto de 2003 |
| DirectX 9.0c | 4.09.0000.0904 (RC0) | Windows XP SP2, Windows Server 2003 SP1, y Xbox 360. Última versión exclusiva para 32-bit. | 13 de diciembre de 2004 |
| DirectX 9.0c | 4.09.0000.0904 | Compatible con todos los Sistemas Windows que soporten 9.0c (RC0) Primera versión en incluir D3DX DLLs | 9 de diciembre de 2005 |
| DirectX 9.0c - actualizaciones bimensuales | 4.09.00.0904 (RC0 para DX 9.0c) | | Publicado bimensualmente entre octubre de 2004 y agosto de 2007 y trimestralmente a partir de entonces. Última versión: junio de 2010 |
| DirectX 10 | 6.00.6000.16386 | Windows Vista y Windows 7 | 30 de noviembre de 2006 |
| DirectX 10.1 | 6.00.6001.18000 | Service Pack 1 para Windows Vista, Windows Server 2008 y Windows 7 incluye Direct3D 10.1 | 4 de febrero de 2008 |
| DirectX 10.1 | 6.00.6002.18005 | Service Pack 2 para Windows Vista, Windows Server 2008 y Windows 7 incluye Direct3D 10.1 | 28 de abril de 2009 |
| DirectX 11 | 6.01.7600.16385 | Windows 7 y Windows Server 2008 R2 | 22 de octubre de 2009 |
| DirectX 11 | 6.00.6002.18107 | Windows Vista SP2 y Windows Server 2008 SP2, mediante la actualización de la plataforma para Windows Vista y Windows Server 2008 | 27 de octubre de 2009 |
| DirectX 11 | 6.01.7601.17514 | Windows 7 SP1 y Windows Server 2008 R2 SP1 | 1 de agosto de 2012 |
| DirectX 11.1 | 6.02.9200.16384 | Windows 8, Windows RT y Windows Server 2012 Windows 7 SP1 y Windows Server 2008 R2 SP1 mediante la actualización de la plataforma para Windows 7 SP1 y Windows Server 2008 R2 SP1 (soporte limitado) | 1 de agosto de 2012 |
| DirectX 11.2 | 6.03.9600.16384 | Windows 8.1, Windows RT y Windows Server 2012 R2 | 18 de octubre de 2013 |
| DirectX 11.3 | ? | Xbox One, Windows 10 y Windows Server 2016 | 29 de julio de 2015 |
| DirectX 12 | 10.00.10240.16384 | Xbox One, Windows 10 y Windows Server 2016 | 29 de julio de 2015 |
| DirectX 12 | 10.00.15063.0000 | Windows 10, se agregaron pruebas de límites de profundidad y MSAA programable | 20 de marzo de 2017 |
| DirectX 12 | 10.00.17763.0001 | Windows 10, soporte añadido de DirectX Raytracing | 2 de octubre de 2018 |
| DirectX 12 | 10.00.18362.0116 | Windows 10, soporte añadido para sombreado de velocidad variable (VRS) | 19 de mayo de 2019 |
| DirectX 12 | 10.00.19041.0928 | Windows 10, Xbox Series X, anuncio de DirectX 12 Ultimate | 10 de noviembre de 2020 |
| DirectX 12 | 10.00.22000.1000 | Windows 11, soporte añadido para tasas de refresco dinámicas y mejoras en las capacidades gráficas de Windows Subsystem for Linux | 5 de octubre de 2021 |
Notas:
* DirectX 4 nunca fue lanzado. Raymond Chen explica en su libro, The Old New Thing, que después de que DirectX 3 fuera lanzado, Microsoft comenzó a desarrollar las versiones 4 y 5 al mismo tiempo. La versión 4 iba a ser una versión con pequeñas mejoras, mientras que la versión 5 sería una liberación más sustancial. Pero debido a la falta de interés por parte de los desarrolladores de videojuegos respecto a las mejoras establecidas para DirectX 4, se dio lugar a que esta fuera hecha hacia un lado, y el corpus de documentos que ya había reconocido las dos nuevas versiones, resultó en la elección de Microsoft de no optar por reutilizar la versión 4 para describir las características previstas para la versión 5.
* Algunas aplicaciones y juegos requieren DirectX 9. Sin embargo, su equipo incluye una versión más reciente de DirectX. Si instala y ejecuta una aplicación o un juego que requiere DirectX 9, es posible que reciba un mensaje de error similar a "El programa no puede iniciarse porque falta d3dx9_35.dll en el equipo. Intente reinstalar el programa para corregir este problema". Para corregir este problema debe instalar DirectX 9 en su última versión de junio de 2010.

### DirectX 12

DirectX 12 fue anunciado oficialmente por Microsoft en la GDC el 18 de marzo de 2014.