stringtranslate.com

DirectX

Microsoft DirectX es una colección de interfaces de programación de aplicaciones (API) para gestionar tareas relacionadas con multimedia , especialmente programación de juegos y vídeo, en las plataformas de Microsoft . Originalmente, los nombres de estas API empezaban con "Direct", como Direct3D , DirectDraw , DirectMusic , DirectPlay , DirectSound , etc. El nombre DirectX se acuñó como un término abreviado para todas estas API (la X representa los nombres de las API en particular) y pronto se convirtió en el nombre de la colección. Cuando Microsoft se propuso más tarde desarrollar una consola de juegos , la X se utilizó como base del nombre Xbox para indicar que la consola se basaba en la tecnología DirectX. [3] La inicial X se ha utilizado en la denominación de las API diseñadas para Xbox, como XInput y Cross-platform Audio Creation Tool (XACT), mientras que el patrón DirectX se ha mantenido para las API de Windows, como Direct2D y DirectWrite .

Direct3D (la API de gráficos 3D de DirectX) se utiliza ampliamente en el desarrollo de videojuegos para Microsoft Windows y la línea de consolas Xbox . Direct3D también se utiliza en otras aplicaciones de software para tareas de visualización y gráficos, como la ingeniería CAD/CAM. Como Direct3D es el componente más publicitado de DirectX, es habitual ver que los nombres "DirectX" y "Direct3D" se utilizan indistintamente.

El kit de desarrollo de software (SDK) de DirectX consta de bibliotecas de runtime en formato binario redistribuible, junto con la documentación y los encabezados que las acompañan para su uso en la codificación. Originalmente, los runtimes sólo los instalaban los juegos o explícitamente el usuario. Windows 95 no se lanzó con DirectX, pero DirectX se incluyó con Windows 95 OEM Service Release 2. [4] Tanto Windows 98 como Windows NT 4.0 se entregaron con DirectX, al igual que todas las versiones de Windows lanzadas desde entonces. El SDK está disponible como descarga gratuita. Si bien los runtimes son software propietario y de código cerrado, se proporciona el código fuente para la mayoría de las muestras del SDK. A partir del lanzamiento de Windows 8 Developer Preview, DirectX SDK se ha integrado en Windows SDK. [5]

Historial de desarrollo

A finales de 1994, Microsoft estaba listo para lanzar Windows 95 , su próximo sistema operativo . Un factor importante en su valor para los consumidores eran los programas que podrían ejecutarse en él. El empleado de Microsoft Alex St. John había estado en conversaciones con varios desarrolladores de juegos para preguntarles qué probabilidades había de que llevaran sus juegos MS-DOS a Windows 95, y encontró que las respuestas eran en su mayoría negativas, ya que los programadores habían descubierto que el entorno Windows no proporcionaba las características necesarias que estaban disponibles bajo MS-DOS utilizando rutinas de BIOS o acceso directo al hardware. [6] También hubo fuertes temores de compatibilidad; un caso notable de esto fue el de Animated Storybook: The Lion King de Disney, que se basó en la interfaz de programación WinG . [7] Debido a numerosos controladores de gráficos incompatibles de las nuevas computadoras Compaq que no fueron probadas con la interfaz WinG que venía incluida con el juego, se bloqueaba con tanta frecuencia en muchos sistemas de escritorio que los padres habían inundado las líneas de ayuda telefónica de Disney . [8] [9]

St. John reconoció que las resistencias para el desarrollo de juegos bajo Windows serían una limitación, y reclutó a dos ingenieros adicionales, Craig Eisler y Eric Engstrom , para desarrollar una mejor solución para conseguir que más programadores desarrollaran juegos para Windows. El proyecto recibió el nombre en código de Proyecto Manhattan, como el proyecto de la Segunda Guerra Mundial del mismo nombre , y la idea era reemplazar las consolas de videojuegos desarrolladas en Japón por computadoras personales que ejecutaran el sistema operativo de Microsoft. [8] Inicialmente había utilizado el símbolo de radiación como su logotipo, pero Microsoft le pidió al equipo que cambiara el logotipo. [8] La gerencia no estuvo de acuerdo con el proyecto porque ya estaban descartando a Windows como plataforma de juegos, pero los tres se comprometieron con el desarrollo de este proyecto. [9] Su naturaleza rebelde llevó a Brad Silverberg , el vicepresidente sénior de productos de oficina de Microsoft, a nombrar al trío los "Beastie Boys". [10]

La mayor parte del trabajo de los tres se realizó entre otros proyectos asignados a partir de finales de 1994. [9] En cuatro meses y con el aporte de varios fabricantes de hardware, el equipo había desarrollado el primer conjunto de interfaces de programación de aplicaciones (API) que presentaron en la Game Developers Conference de 1995. [9] El SDK incluía bibliotecas que implementaban DirectDraw para gráficos de mapa de bits, [11] DirectSound para audio, [12] y DirectPlay para la comunicación entre jugadores a través de una red. [13] Además, una API de joystick extendida ya presente en Windows 95 se documentó por primera vez como DirectInput, [14] mientras que una descripción de cómo implementar el inicio inmediato del procedimiento de instalación de un título de software después de insertar su CD-ROM, una característica llamada AutoPlay, también era parte del SDK. [15] La parte "Direct" de la biblioteca se denominó así porque estas rutinas pasaban por alto las rutinas centrales existentes de Windows 95 y accedían al hardware de la computadora solo a través de una capa de abstracción de hardware (HAL). [16] Aunque el equipo lo había llamado "Game SDK" ( kit de desarrollo de software ), el nombre "DirectX" surgió de un periodista que se había burlado del esquema de nombres de las distintas bibliotecas. El equipo optó por seguir utilizando ese esquema de nombres y llamar al proyecto DirectX. [8]

La primera versión de DirectX se lanzó en septiembre de 1995 como Windows Game SDK. Su componente DirectDraw fue el reemplazo de Win32 para DCI [17] y las API de WinG para Windows 3.1 . [18] DirectX permitió que todas las versiones de Microsoft Windows, comenzando con Windows 95, incorporaran multimedia de alto rendimiento. Eisler escribió sobre el frenesí por desarrollar DirectX 1 a 5 en su blog. [19]

Para conseguir que más desarrolladores se sumen a DirectX, Microsoft se puso en contacto con John Carmack de id Software y le ofreció portar Doom y Doom 2 de MS-DOS a DirectX, de forma gratuita, y que id conservara todos los derechos de publicación del juego. Carmack estuvo de acuerdo y Gabe Newell , de Microsoft, lideró el proyecto de portación. El primer juego se lanzó como Doom 95 en agosto de 1996, el primer juego publicado con DirectX. Microsoft promocionó el juego intensamente y Bill Gates apareció en los anuncios del título. [8]

DirectX 2.0 se convirtió en un componente integrado de Windows con el lanzamiento de Windows 95 OSR2 y Windows NT 4.0 a mediados de 1996. Dado que Windows 95 en sí era todavía nuevo y pocos juegos se habían lanzado para él, Microsoft se dedicó a una intensa promoción de DirectX entre los desarrolladores que, en general, desconfiaban de la capacidad de Microsoft para crear una plataforma de juegos en Windows. Alex St. John, el evangelista de DirectX, organizó un elaborado evento en la Conferencia de Desarrolladores de Juegos de Computadora de 1996 que el desarrollador de juegos Jay Barnson describió como de temática romana , que incluía leones reales , togas y algo parecido a un carnaval de interior. [20] Fue en este evento donde Microsoft presentó por primera vez Direct3D y demostró cómo se jugaba MechWarrior 2 multijugador a través de Internet.

El equipo de DirectX se enfrentó a la difícil tarea de probar cada versión de DirectX en una variedad de hardware y software informáticos . Se probaron una variedad de diferentes tarjetas gráficas, tarjetas de audio, placas base, CPU, dispositivos de entrada, juegos y otras aplicaciones multimedia con cada versión beta y final. El equipo de DirectX también creó y distribuyó pruebas que permitieron a la industria del hardware confirmar que los nuevos diseños de hardware y versiones de controladores serían compatibles con DirectX.

Antes de DirectX, Microsoft había añadido OpenGL a su plataforma Windows NT . [21] OpenGL había sido diseñado como una interfaz de software independiente del sistema de ventanas y multiplataforma para hardware de gráficos por Silicon Graphics, Inc. para llevar la programación de gráficos 3D a la corriente principal de la programación de aplicaciones. Además, también podía utilizarse para gráficos e imágenes 2D y estaba controlado por el Architectural Review Board (ARB), que incluía a Microsoft. [22] [23] Direct3D estaba destinado a ser una alternativa controlada por Microsoft a OpenGL, centrada inicialmente en el uso de juegos. A medida que los juegos 3D crecían, los desarrolladores de juegos descubrieron que OpenGL podía utilizarse de forma eficaz para el desarrollo de juegos. [24] En ese momento comenzó una "batalla" entre los partidarios del OpenGL multiplataforma y el Direct3D exclusivo para Windows. [25] Por cierto, OpenGL recibió el apoyo de Microsoft del equipo DirectX. Si un desarrollador decidía utilizar la API de gráficos 3D OpenGL en juegos de computadora , las otras API de DirectX además de Direct3D a menudo se combinaban con OpenGL porque OpenGL no incluye todas las funciones de DirectX (como sonido o compatibilidad con joystick).

En una versión específica de consola, DirectX se utilizó como base para la API de consola de Microsoft para Xbox , Xbox 360 y Xbox One . La API fue desarrollada conjuntamente entre Microsoft y Nvidia , que desarrolló el hardware de gráficos personalizado utilizado por la Xbox original. La API de Xbox era similar a la versión 8.1 de DirectX, pero no se puede actualizar como otras tecnologías de consola. El nombre en código de Xbox era DirectXbox, pero se acortó a Xbox para su nombre comercial. [26]

En 2002, Microsoft lanzó DirectX 9 con soporte para el uso de programas de sombreado mucho más largos que antes con la versión 2.0 de sombreado de píxeles y vértices. Microsoft ha seguido actualizando la suite DirectX desde entonces, introduciendo Shader Model 3.0 en DirectX 9.0c, lanzado en agosto de 2004.

A partir de abril de 2005, DirectShow se eliminó de DirectX y se trasladó al Microsoft Platform SDK .

Se ha confirmado que DirectX está presente en Windows Phone 8 de Microsoft . [27]

El trazado de rayos en tiempo real se anunció como DXR en 2018. El soporte para compilar HLSL a SPIR-V también se agregó en DirectX Shader Compiler el mismo año. [28]

Componentes

DirectX se compone de múltiples API:

Microsoft ha dejado obsoletos los siguientes componentes:

La funcionalidad de DirectX se proporciona en forma de objetos e interfaces de estilo COM . Además, aunque no son componentes de DirectX en sí, se han creado objetos administrados sobre algunas partes de DirectX, como Managed Direct3D [31] y la biblioteca de gráficos XNA [32] sobre Direct3D 9.

Microsoft distribuye una herramienta de depuración para DirectX llamada "PIX". [33]

Versiones

DirectX 9

Presentado por Microsoft en 2002, DirectX 9 fue un lanzamiento importante en la familia DirectX. Trajo muchas características y mejoras importantes a las capacidades gráficas de Windows. En el momento de su lanzamiento, era compatible con Windows 98 , Windows Me , Windows 2000 y Windows XP . A partir de agosto de 2024, sigue siendo compatible con todas las versiones posteriores de Windows por compatibilidad con versiones anteriores.

Una de las características clave introducidas en DirectX 9 fue Shader Model 2.0, que incluía Pixel Shader 2.0 y Vertex Shader 2.0. Estos permitieron una representación de gráficos más compleja y realista. También trajo consigo mejoras de rendimiento muy necesarias a través de mejores capacidades de aceleración de hardware y una mejor utilización de los recursos de la GPU. También introdujo HLSL , que proporcionó una forma más accesible para que los desarrolladores produjeran sombreadores.

DirectX 9.0c fue una actualización del original y se ha modificado continuamente a lo largo de los años, lo que afectó su compatibilidad con sistemas operativos más antiguos. A partir de enero de 2007, Windows 2000 y Windows XP se convirtieron en los sistemas operativos mínimos requeridos. Esto significa que se dejó de brindar soporte oficialmente para Windows 98 y Windows Me. A partir de agosto de 2024, DirectX 9.0c todavía se actualiza periódicamente.

Windows XP SP2 y versiones más recientes incluyen DirectX 9.0c, [34] pero pueden requerir una instalación redistribuible en tiempo de ejecución de DirectX más reciente para aplicaciones DirectX 9.0c compiladas con el SDK de DirectX 9.0 de febrero de 2005 o más reciente.

DirectX 9 tuvo un impacto significativo en el desarrollo de juegos. Muchos juegos desde mediados de la década de 2000 hasta principios de la década de 2010 se desarrollaron con DirectX 9 y se convirtió en un objetivo estándar para los desarrolladores. Incluso hoy, algunos juegos todavía usan DirectX 9 como una opción para hardware más antiguo o menos potente.

DirectX 10

Logotipo de Microsoft DirectX 10

DirectX 10 es una actualización importante de la API de DirectX. Se entrega con Windows Vista (lanzado a fines de 2006) y versiones posteriores y solo está disponible con ellos. Las versiones anteriores de Windows, como Windows XP, no pueden ejecutar aplicaciones exclusivas de DirectX 10. En cambio, los programas que se ejecutan en un sistema Windows XP con hardware DirectX 10 simplemente recurren a la ruta de código de DirectX 9.0c, la última disponible para computadoras con Windows XP. [35]

Los cambios para DirectX 10 fueron extensos. Muchas partes anteriores de la API de DirectX quedaron obsoletas en el último SDK de DirectX y se conservaron solo por compatibilidad: DirectInput quedó obsoleto en favor de XInput , DirectSound quedó obsoleto en favor del sistema Cross-platform Audio Creation Tool (XACT) y, además, perdió la compatibilidad con el audio acelerado por hardware, ya que la pila de audio de Vista reproduce el sonido en software en la CPU. El DPLAY.DLL de DirectPlay también se eliminó y se reemplazó con dplayx.dll; los juegos que dependen de este DLL deben duplicarlo y cambiarle el nombre a dplay.dll.

Para lograr compatibilidad con versiones anteriores, DirectX en Windows Vista contiene varias versiones de Direct3D: [36]

Direct3D 10.1 es una actualización incremental de Direct3D 10.0 que se envió con, y requirió, Windows Vista Service Pack 1 , que fue lanzado en febrero de 2008. [37] Esta versión establece principalmente algunos estándares de calidad de imagen más para los proveedores de gráficos, al tiempo que brinda a los desarrolladores más control sobre la calidad de la imagen. [38] También agrega soporte para matrices de mapas de cubos, modos de fusión separados por MRT, exportación de máscara de cobertura desde un sombreador de píxeles, capacidad de ejecutar sombreador de píxeles por muestra, acceso a búferes de profundidad de múltiples muestras [39] y requiere que la tarjeta de video admita Shader Model 4.1 o superior y operaciones de punto flotante de 32 bits. Direct3D 10.1 aún admite completamente el hardware de Direct3D 10, pero para utilizar todas las nuevas características, se requiere hardware actualizado. [40]

DirectX 11

Logotipo de Microsoft DirectX 11

Microsoft presentó DirectX 11 en el evento Gamefest 08 en Seattle. La actualización final de la plataforma se lanzó para Windows Vista el 27 de octubre de 2009, una semana después del lanzamiento inicial de Windows 7 , que se lanzó con Direct3D 11 como estándar base.

Las principales características programadas incluyen soporte GPGPU ( DirectCompute ), y Direct3D 11 con soporte de teselación [41] [42] y soporte mejorado de subprocesos múltiples para ayudar a los desarrolladores de videojuegos a desarrollar juegos que utilicen mejor los procesadores multinúcleo . [43] Partes de la nueva API, como el manejo de recursos multiproceso, pueden ser compatibles con hardware de clase Direct3D 9/10/10.1. La teselación de hardware y Shader Model 5.0 requieren hardware compatible con Direct3D 11. [44] Desde entonces, Microsoft ha lanzado la Vista previa técnica de Direct3D 11. [45] Direct3D 11 es un superconjunto estricto de Direct3D 10.1: se conservan todas las características de hardware y API de la versión 10.1, y se agregan nuevas características solo cuando es necesario para exponer nueva funcionalidad. Esto ayuda a mantener la compatibilidad con versiones anteriores de DirectX.

Se lanzaron cuatro actualizaciones para DirectX 11:

DirectX 12

Microsoft anunció DirectX 12 en GDC el 20 de marzo de 2014 y se lanzó oficialmente junto con Windows 10 el 29 de julio de 2015.

La característica principal destacada de la nueva versión de DirectX fue la introducción de API de programación avanzadas de bajo nivel para Direct3D 12 que pueden reducir la sobrecarga del controlador. Los desarrolladores ahora pueden implementar sus propias listas de comandos y búferes en la GPU, lo que permite una utilización más eficiente de los recursos a través de la computación paralela . El desarrollador principal Max McMullen afirmó que el objetivo principal de Direct3D 12 es lograr "una eficiencia a nivel de consola en teléfonos, tabletas y PC". [55] El lanzamiento de Direct3D 12 viene junto con otras iniciativas para API de gráficos de baja sobrecarga, como Mantle de AMD para tarjetas gráficas AMD, Metal de Apple para iOS y macOS y Vulkan multiplataforma de Khronos Group .

La compatibilidad con múltiples adaptadores estará presente en DirectX 12, lo que permitirá a los desarrolladores utilizar múltiples GPU en un sistema simultáneamente; anteriormente, la compatibilidad con múltiples GPU dependía de implementaciones de proveedores como AMD CrossFireX o NVIDIA SLI . [56] [57] [58] [59]

DirectX 12 es compatible con todas las GPU Nvidia Fermi y posteriores, con los chips basados ​​en GCN de AMD y con las unidades gráficas de los procesadores Intel Haswell y posteriores. [60]

En SIGGRAPH 2014, Intel lanzó una demostración que mostraba un campo de asteroides generado por computadora , en el que se afirmó que DirectX 12 era entre un 50 y un 70 % más eficiente que DirectX 11 en velocidad de renderizado y consumo de energía de la CPU. [61] [62]

Ashes of the Singularity fue el primer juego disponible públicamente en utilizar DirectX 12. Las pruebas realizadas por Ars Technica en agosto de 2015 revelaron ligeras regresiones de rendimiento en el modo DirectX 12 sobre el modo DirectX 11 para la Nvidia GeForce 980 Ti , mientras que la AMD Radeon R9 290x logró mejoras de rendimiento consistentes de hasta un 70% con DirectX 12, y en algunos escenarios la AMD superó a la más poderosa Nvidia con DirectX 12. Las discrepancias de rendimiento pueden deberse a optimizaciones deficientes del controlador de Nvidia para DirectX 12, o incluso a limitaciones de hardware de la tarjeta que fue optimizada para la ejecución en serie de DirectX 11; sin embargo, la causa exacta sigue sin estar clara. [63]

Las mejoras de rendimiento de DirectX 12 en la Xbox no son tan sustanciales como en la PC. [64]

En marzo de 2018, se anunció DirectX Raytracing (DXR), capaz de realizar trazado de rayos en tiempo real en hardware compatible, [65] y la API DXR se agregó en la actualización de octubre de 2018 de Windows 10.

En 2019 Microsoft anunció la llegada de DirectX 12 a Windows 7, pero solo como complemento para ciertos títulos de juegos. [66]

DirectX 12 Ultimate

Microsoft reveló DirectX 12 Ultimate en marzo de 2020. DirectX 12 Ultimate se unificará en una biblioteca común tanto en computadoras con Windows 10 como en Xbox Series X y otras consolas Xbox de novena generación. Entre las nuevas características de Ultimate se incluyen DirectX Raytracing 1.1 , Variable Rate Shading, que brinda a los programadores control sobre el nivel de detalle del sombreado según las opciones de diseño, Mesh Shaders y Sampler Feedback. [67] [68]

Historial de versiones

El número de versión que informa la herramienta DxDiag de Microsoft (versión 4.09.0000.0900 y posteriores) utiliza el formato x.xx.xxxx.xxxx para los números de versión. Sin embargo, la página MSDN de DirectX y Windows XP afirma que el registro siempre ha estado en el formato x.xx.xx.xxxx. Por lo tanto, cuando la tabla anterior indica una versión como '4.09.00.0904', la herramienta DxDiag de Microsoft puede indicarla como '4.09.0000.0904'. [96]

Compatibilidad

Varias versiones de Windows han incluido y soportado varias versiones de DirectX, permitiendo que las versiones más nuevas del sistema operativo continúen ejecutando aplicaciones diseñadas para versiones anteriores de DirectX hasta que esas versiones puedan ser eliminadas gradualmente a favor de API, controladores y hardware más nuevos. [97]

Las API como Direct3D y DirectSound necesitan interactuar con el hardware, y lo hacen a través de un controlador de dispositivo . Los fabricantes de hardware tienen que escribir estos controladores para la interfaz del controlador de dispositivo (o DDI) de una versión particular de DirectX, y probar cada pieza individual de hardware para que sean compatibles con DirectX. Algunos dispositivos de hardware solo tienen controladores compatibles con DirectX (en otras palabras, uno debe instalar DirectX para poder usar ese hardware). Las primeras versiones de DirectX incluían una biblioteca actualizada de todos los controladores compatibles con DirectX disponibles en la actualidad. Sin embargo, esta práctica se abandonó a favor del sistema de actualización de controladores basado en la web Windows Update , que permitía a los usuarios descargar solo los controladores relevantes para su hardware, en lugar de la biblioteca completa.

Antes de DirectX 10, el entorno de ejecución de DirectX estaba diseñado para ser compatible con versiones anteriores de controladores más antiguos, lo que significa que las versiones más nuevas de las API estaban diseñadas para interoperar con controladores más antiguos escritos contra el DDI de una versión anterior. El programador de aplicaciones tenía que consultar las capacidades de hardware disponibles utilizando un sistema complejo de "cap bits", cada uno vinculado a una característica de hardware particular. Direct3D 7 y versiones anteriores funcionaban en cualquier versión del DDI, Direct3D 8 requiere un nivel mínimo de DDI de 6 y Direct3D 9 requiere un nivel mínimo de DDI de 7. [98] Sin embargo, el entorno de ejecución de Direct3D 10 en Windows Vista no puede ejecutarse en controladores de hardware más antiguos debido al DDI significativamente actualizado, que requiere un conjunto de características unificado y abandona el uso de "cap bits".

Direct3D 10.1 introduce los " niveles de características " 10_0 y 10_1, que permiten el uso únicamente de las características de hardware definidas en la versión especificada de la API de Direct3D. Direct3D 11 añade el nivel 11_0 y el "nivel 10 9", un subconjunto de la API de Direct3D 10 diseñado para ejecutarse en hardware Direct3D 9, que tiene tres niveles de características (9_1, 9_2 y 9_3) agrupados por capacidades comunes de tarjetas de vídeo de "gama baja", "media" y "gama alta"; el entorno de ejecución utiliza directamente Direct3D 9 DDI proporcionado en todos los controladores WDDM. El nivel de características 11_1 se ha introducido con Direct3D 11.1 .

Marco .NET

En 2002, Microsoft lanzó una versión de DirectX compatible con Microsoft .NET Framework , lo que permitió a los programadores aprovechar la funcionalidad de DirectX desde dentro de las aplicaciones .NET utilizando lenguajes compatibles como C++ administrado o el uso del lenguaje de programación C# . Esta API se conocía como " Managed DirectX " (o MDX para abreviar), y afirmaba funcionar al 98% del rendimiento de las API nativas de DirectX subyacentes. En diciembre de 2005, febrero de 2006, abril de 2006 y agosto de 2006, Microsoft lanzó actualizaciones sucesivas de esta biblioteca, que culminaron en una versión beta llamada Managed DirectX 2.0. Si bien Managed DirectX 2.0 consolidó la funcionalidad que anteriormente se había dispersado en varios ensamblajes en un solo ensamblaje, simplificando así las dependencias de este para los desarrolladores de software, el desarrollo de esta versión se ha interrumpido posteriormente y ya no se admite. La biblioteca Managed DirectX 2.0 expiró el 5 de octubre de 2006.

Durante la GDC 2006, Microsoft presentó XNA Framework , una nueva versión administrada de DirectX (similar pero no idéntica a Managed DirectX) que está destinada a ayudar al desarrollo de juegos al facilitar la integración de DirectX, HLSL y otras herramientas en un solo paquete. También admite la ejecución de código administrado en Xbox 360. XNA Game Studio Express RTM se puso a disposición el 11 de diciembre de 2006 como descarga gratuita para Windows XP. A diferencia del entorno de ejecución de DirectX, Managed DirectX , XNA Framework o las API de Xbox 360 (XInput, XACT, etc.) no se han incluido como parte de Windows. Se espera que los desarrolladores redistribuyan los componentes del entorno de ejecución junto con sus juegos o aplicaciones.

Ningún producto de Microsoft, incluidas las últimas versiones de XNA, ofrece compatibilidad con DirectX 10 para .NET Framework.

El otro enfoque para DirectX en lenguajes administrados es utilizar bibliotecas de terceros como:

Alternativas

Existen alternativas a la familia de APIs de DirectX , siendo OpenGL , su sucesor Vulkan , Metal y Mantle los que tienen más características comparables a Direct3D . Ejemplos de otras APIs incluyen SDL , Allegro , OpenMAX , OpenML, OpenAL , OpenCL , FMOD , SFML , etc. Muchas de estas bibliotecas son multiplataforma o tienen bases de código abiertas. También existen implementaciones alternativas que apuntan a proporcionar la misma API, como la de Wine . Además, los desarrolladores de ReactOS están tratando de reimplementar DirectX bajo el nombre "ReactX".

Véase también

Notas

  1. ^ Es posible instalar el tiempo de ejecución de octubre/noviembre de 2007 en 98/98 SE y el tiempo de ejecución de febrero de 2010 en Me después de esta versión.

Referencias

  1. ^ "Páginas técnicas de Dreamcast". Junio ​​de 1999.
  2. ^ "Microsoft anuncia Direct3D 12 para Linux / WSL2". 19 de mayo de 2020.
  3. ^ "Microsoft: El significado de Xbox - The Economist". The Economist . 24 de noviembre de 2005.
  4. ^ "Ayuda de DirectX". computerhope.com .
  5. ^ "¿Dónde está el SDK de DirectX?". microsoft.com . Microsoft.
  6. ^ DeMaria, Rusel (2019). "11. El Proyecto Manhattan". JUEGO DE X V.2 . CRC Press . Windows necesita soporte; ... – Cambio de página – Sincronización de espacios en blanco verticales – Mezcla de sonido precisa – Sincronización precisa de eventos de sonido y video – Rendimiento de blting en bruto – Capacidad para configurar el modo gráfico ...
  7. ^ Kelly, Christopher (1 de junio de 1995). "Video para Windows y WinG". Diario del Dr. Dobb . Consultado el 9 de agosto de 2022. El software de Lion King, por ejemplo, es una aplicación WinToon. ... Al igual que WinToon, este ejemplo utiliza WinG para dibujar en el DIB.
  8. ^ abcde Willetts, Samual (27 de julio de 2020). "Cómo DirectX definió los juegos de PC... con la ayuda de un Bill Gates armado con una escopeta". PC Gamer . Consultado el 7 de diciembre de 2020 .
  9. ^ abcd Craddock, David (14 de noviembre de 2020). "Apuesta por el negro: cómo Microsoft y Xbox cambiaron la cultura pop, parte 1, capítulo 8: El poder de X". Shacknews . Consultado el 7 de diciembre de 2020 .
  10. ^ Haggarty, James (9 de diciembre de 2020). "Microsoft Misfit ayudó a la empresa a entrar en el mercado de los juegos". The Wall Street Journal . Consultado el 9 de diciembre de 2020 .
  11. ^ "Introducción". Interfaz de programación de aplicaciones DirectDraw . Microsoft. 20 de abril de 1995.
  12. ^ "Introducción". Interfaz de programación de aplicaciones DirectSound . Microsoft. 20 de abril de 1995.
  13. ^ "Introducción". Interfaz de programación de aplicaciones DirectPlay . Microsoft. 20 de abril de 1995.
  14. ^ "Capítulo 3: Referencia de la API de joystick". Interfaz de programación de aplicaciones DirectInput . Microsoft. 20 de abril de 1995.
  15. ^ "¿Qué es la reproducción automática?". Creación de títulos y juegos en CD-ROM con reproducción automática . Microsoft. 1 de noviembre de 1994.
  16. ^ "Descripción general de la arquitectura". Interfaz de programación de aplicaciones DirectDraw . Microsoft. 20 de abril de 1995.
  17. ^ "54 ¿Qué es DCI?". stason.org .
  18. ^ Raskin, Robin (agosto de 1995). "Pity the Poor Developer" (Lástima del pobre desarrollador). PC Magazine . Consultado el 7 de agosto de 2022 .
  19. ^ Publicación del blog de Craig Eisler sobre el frenesí por compilar DirectX 1 a 5 en craig.theeislers.com
  20. ^ Jay Barnson (13 de julio de 2006). "Cuentos del coyote rampante". Archivado desde el original el 17 de julio de 2006.
  21. ^ Miller, Michael J. (diciembre de 1994). "System Software WINNER Microsoft Windows NT Workstation, versión 3.5". PC Magazine . Consultado el 13 de agosto de 2022 .
  22. ^ Kilgard, Mark (diciembre de 2008). "Filosofía de diseño de OpenGL (diapositiva)". SlideShare . Consultado el 14 de agosto de 2022 .
  23. ^ Kilgard, Mark J. (1996). Programación OpenGL para el sistema X Window . Addison-Wesley . págs. 1–6.
  24. ^ Berkes, Otto (12 de abril de 2015). «DirectX». Blog de Otto Berkes . Consultado el 17 de agosto de 2022 .
  25. ^ Hecker, Chris (abril de 1997). "Carta abierta a Microsoft: haga lo correcto para la industria de los juegos en 3D" (PDF) . Revista Game Developer . Archivado (PDF) del original el 26 de enero de 2021. Consultado el 29 de agosto de 2022 .
  26. ^ J. Allard, entrevista a PC Pro Archivado el 11 de octubre de 2007 en Wayback Machine , abril de 2004
  27. ^ "Windows Phone 8 añade DirectX, desarrollo nativo y portabilidad de aplicaciones más sencilla". 20 de junio de 2012. Consultado el 23 de junio de 2012 .
  28. ^ "Agregar el libro de recetas HLSL-spirv. (#1618)". GitHub . 23 de octubre de 2018.
  29. ^ Animación 3D de SPACE FIGHTER por DIRECT ANIMATION [ enlace muerto permanente ]
  30. ^ "Objetos multimedia de DirectX". DirectShow . Microsoft Docs . 5 de junio de 2019. Los objetos multimedia de DirectX han sido reemplazados por las transformaciones de Media Foundation (MFT).
  31. ^ "DirectX 9: uso de la API de gráficos Direct3D administrada en .NET". microsoft.com . Microsoft. 22 de octubre de 2019.
  32. ^ "Espacio de nombres Microsoft.Xna.Framework.Graphics". microsoft.com . Microsoft. 29 de septiembre de 2011.
  33. ^ "PIX".
  34. ^ "Guía de programación para el SDK de DirectX". msdn.microsoft.com . Archivado desde el original el 18 de octubre de 2010. Consultado el 11 de enero de 2022 .
  35. ^ "Preguntas frecuentes sobre DirectX". microsoft.com . Microsoft.
  36. ^ Chuck Walbourn (agosto de 2009). "API de gráficos en Windows". MSDN . Consultado el 3 de octubre de 2009 .
  37. ^ Albanesius, Chloe (29 de agosto de 2007). «Microsoft lanza el primer Service Pack para Vista». PC Magazine . Archivado desde el original el 19 de marzo de 2008. Consultado el 29 de agosto de 2007 .
  38. ^ "Microsoft presenta detalles de DirectX 10.1 en SIGGRAPH". 7 de agosto de 2007. Archivado desde el original el 9 de septiembre de 2007. Consultado el 27 de agosto de 2007 .
  39. ^ "Learn Network Inspire" (PDF) . AMD. Archivado desde el original (PDF) el 10 de abril de 2012 . Consultado el 30 de diciembre de 2012 .
  40. ^ "DirectX 10.1 no requiere una nueva GPU". Windows Vista: la guía completa. 5 de marzo de 2008. Archivado desde el original el 29 de octubre de 2007. Consultado el 5 de marzo de 2008 .
  41. ^ "¿Qué viene a continuación para DirectX? Una descripción general de DirectX 11 — Una descripción general de DirectX 11". Elite Bastards. 1 de septiembre de 2008. Archivado desde el original el 4 de septiembre de 2008 . Consultado el 4 de septiembre de 2008 .
  42. ^ "DirectX 11: Un vistazo a lo que viene". bit-tech.net. 17 de septiembre de 2008.
  43. ^ Fecha de lanzamiento de Windows 7 y D3D 11 Archivado el 9 de octubre de 2011 en Wayback Machine
  44. ^ "Blogs de MSDN". msdn.com . Microsoft. 6 de agosto de 2021.
  45. ^ "Descargar el kit de desarrollo de software DirectX desde el Centro de descargas oficial de Microsoft". microsoft.com . Microsoft.
  46. ^ "Guía de vista previa para desarrolladores de Windows 8" (PDF) . Archivado desde el original (PDF) el 7 de octubre de 2011.
  47. ^ "Actualización de plataforma para Windows 7 (Windows)". Msdn.microsoft.com . Consultado el 9 de agosto de 2014 .
  48. ^ Pooya Eimandar (2013). Programación de juegos con DirectX 11.1 . Packt Publishing Ltd. pág. 45. ISBN 978-1-84969-481-0.
  49. ^ ab "Cómo instalar la última versión de DirectX". Soporte técnico de Microsoft . Microsoft . Consultado el 27 de octubre de 2017 .
  50. ^ "Descripción general de las realizaciones de geometría". microsoft.com . Microsoft. 19 de agosto de 2020.
  51. ^ Bennett Sorbo (26 de junio de 2013). "Novedades de Direct3D 11.2". Channel9 - BUILD 2013. Alrededor de las 20:00.
  52. ^ "Microsoft rechaza oficialmente a Mantle". semiaccurate.com . 16 de octubre de 2013.
  53. ^ Segmento de Chris Tector de http://channel9.msdn.com/Blogs/DirectX-Developer-Blog/DirectX-Evolving-Microsoft-s-Graphics-Platform (comienza aproximadamente en el minuto 18)
  54. ^ Smith, Ryan (18 de septiembre de 2014). "Microsoft detalla las nuevas funciones de renderizado de Direct3D 11.3 y 12". AnandTech . Consultado el 6 de noviembre de 2014 .
  55. ^ McMullen, Max (2 de abril de 2014). "Vista previa de la API de Direct3D 12". Canal 9 . Microsoft .
  56. ^ Moore, Bo (5 de mayo de 2015). «DirectX 12 podrá usar tu GPU integrada para mejorar el rendimiento». PC Gamer . Future US . Consultado el 22 de agosto de 2015 .
  57. ^ Michaud, Scott (4 de mayo de 2015). «BUILD 2015: The Final DirectX 12 Reveal». PC Perspective . Archivado desde el original el 5 de septiembre de 2015. Consultado el 22 de agosto de 2015 .
  58. ^ Langley, Bryan (29 de julio de 2015). "¡Ya se lanzaron Windows 10 y DirectX 12!". Blog para desarrolladores de DirectX de MSDN . Microsoft. Archivado desde el original el 2 de agosto de 2015. Consultado el 22 de agosto de 2015 .
  59. ^ Yeung, Andrew (30 de abril de 2015). "DirectX 12 Multiadapter: Lighting up dormant silicon and making it work for you" (Multiadaptador DirectX 12: cómo iluminar el silicio inactivo y hacerlo funcionar para usted). Blog para desarrolladores de DirectX de MSDN . Microsoft. Archivado desde el original el 20 de agosto de 2015. Consultado el 22 de agosto de 2015 .
  60. ^ Ryan Smith. "AnandTech - Microsoft anuncia DirectX 12: la programación de gráficos de bajo nivel llega a DirectX". anandtech.com .
  61. ^ Yeung, Andrew (13 de agosto de 2014). «DirectX 12: alto rendimiento y gran ahorro de energía». Blog para desarrolladores de DirectX . Microsoft . Archivado desde el original el 13 de agosto de 2014. Consultado el 6 de noviembre de 2014 .
  62. ^ Lauritzen, Andrew (11 de agosto de 2014). "SIGGRAPH 2014: DirectX 12 en Intel". Zona para desarrolladores . Intel .
  63. ^ Walton, Mark (19 de agosto de 2015). "DirectX 12 probado: una victoria temprana para AMD y una decepción para Nvidia". Ars Technica UK . Consultado el 19 de agosto de 2015 .
  64. ^ "El jefe de Xbox One advierte a los jugadores que no esperen mejoras espectaculares de DirectX 12 - ExtremeTech". ExtremeTech . Consultado el 30 de septiembre de 2014 .
  65. ^ "¡Anunciamos Microsoft DirectX Raytracing!". Microsoft. 19 de marzo de 2018.
  66. ^ "Microsoft traslada DirectX 12 a Windows 7, lo que mejora el rendimiento de algunos juegos de PC más antiguos". PCWorld . 13 de marzo de 2019 . Consultado el 17 de abril de 2019 .
  67. ^ "Anuncio de DirectX 12 Ultimate". Microsoft . 19 de marzo de 2020 . Consultado el 20 de marzo de 2020 .
  68. ^ Kerr, Chris (20 de marzo de 2020). «Microsoft lanza DirectX 12 Ultimate para soportar gráficos de próxima generación». Gamasutra . Consultado el 20 de marzo de 2020 .
  69. ^ Chen, Raymond (2006). "Etimología e historia". The Old New Thing (1.ª ed.). Pearson Education. pág. 330. ISBN 0-321-44030-7.
  70. ^ "¿Qué pasó con DirectX 4? - The Old New Thing - Página principal del sitio - Blogs de MSDN". Blogs.msdn.com. 22 de enero de 2004. Consultado el 30 de diciembre de 2012 .
  71. ^ "Microsoft lanza la versión final de DirectX 6.0". Microsoft.com . 7 de agosto de 1998. Archivado desde el original el 26 de agosto de 2015 . Consultado el 19 de julio de 2019 .
  72. ^ "Microsoft lanza DirectX 6.1". Microsoft.com . 3 de febrero de 1999. Archivado desde el original el 26 de agosto de 2015 . Consultado el 19 de julio de 2019 .
  73. ^ "Microsoft DirectX – Preguntas frecuentes". ActiveWin.com . Archivado desde el original el 10 de febrero de 2003. Consultado el 30 de agosto de 2019 .
  74. ^ "Microsoft lanza la versión final de DirectX 7.0". Microsoft.com . 22 de septiembre de 1999. Archivado desde el original el 19 de julio de 2019 . Consultado el 19 de julio de 2019 .
  75. ^ Paul Thurrott (21 de septiembre de 1999). «Microsoft lanza DirectX 7.0». ITProToday . Archivado desde el original el 17 de abril de 2019. Consultado el 19 de julio de 2019 .
  76. ^ Mielewczik, Michael. "DirectX 7.0: Nachbrenner para juegos". Pasante de PC . 12/1999: 124-125.
  77. ^ "Centro de descargas: DirectX/Versión - 7.0a". Microsoft.com . Archivado desde el original el 8 de abril de 2000. Consultado el 20 de julio de 2019 .
  78. ^ Maarten Goldstein (18 de diciembre de 1999). «DirectX 7A lanzado». Shacknews . Archivado desde el original el 20 de julio de 2019. Consultado el 20 de julio de 2019 .
  79. ^ Paul Thurrott (14 de septiembre de 2000). «Revisión de Windows Millennium Edition (Windows Me)». ITProToday . Archivado desde el original el 13 de junio de 2018. Consultado el 21 de julio de 2019 .
  80. ^ Admin (10 de noviembre de 2000). «DirectX 8 leaks out» (Filtraciones de DirectX 8). Geek.com . Archivado desde el original el 12 de julio de 2016. Consultado el 20 de julio de 2019 .
  81. ^ "DirectX 8.0a Redist". Microsoft.com . 24 de enero de 2001. Archivado desde el original el 31 de marzo de 2001. Consultado el 20 de julio de 2019 .
  82. ^ Mielewczik, Michael (2001). "Brandaktuell - El nuevo DirectX 8.0". Técnico de Windows . 2001 (2). Múnich: MEK3 Verlag: 56-59.
  83. ^ "Descargar el instalador web de DirectX End-User Runtime desde el Centro de descargas oficial de Microsoft". microsoft.com . Microsoft.
  84. ^ "Descargar DirectX End-User Runtimes (junio de 2010) desde el Centro de descarga oficial de Microsoft". microsoft.com . Microsoft.
  85. ^ "Informe: No hay DirectX 10 para Windows XP". GameDeveloper . 30 de mayo de 2006 . Consultado el 23 de diciembre de 2021 .
  86. ^ "Microsoft actualiza Windows Vista con DirectX 11". pcgameshardware.com . 15 de septiembre de 2009. Archivado desde el original el 31 de marzo de 2016 . Consultado el 15 de septiembre de 2009 .
  87. ^ "Actualización de la plataforma para Windows 7 SP1 y Windows Server 2008 R2 SP1". Soporte técnico de Microsoft . Microsoft. 27 de febrero de 2013. Archivado desde el original el 7 de mayo de 2019 . Consultado el 7 de mayo de 2019 .
  88. ^ "Novedades de Windows 10, compilación 15063: aplicaciones para UWP". 20 de octubre de 2022.
  89. ^ "Anuncio de nuevas características de DirectX 12". 7 de noviembre de 2017.
  90. ^ "Galería NuGet | Microsoft.Direct3D.D3D12On7 1.1.0".
  91. ^ "Especificaciones de DirectX".
  92. ^ "DirectX Raytracing y la actualización de octubre de 2018 de Windows 10". 2 de octubre de 2018.
  93. ^ "Sombreado de tasa variable: un bisturí en un mundo de mazos". 18 de marzo de 2019.
  94. ^ "Frecuencia de actualización dinámica: obtenga lo mejor de ambos mundos". 28 de junio de 2021.
  95. ^ "Arquitectura gráfica de WSL". Conferencia de desarrolladores de X.Org 2020. Archivado desde el original el 8 de octubre de 2021. Consultado el 8 de octubre de 2021 .
  96. ^ "DirectX y Windows XP". Archivado desde el original el 18 de enero de 2008.
  97. ^ "¿Qué versión de DirectX tienes instalada en tu PC?". support.microsoft.com . Consultado el 30 de septiembre de 2020 .
  98. ^ MSN. «Requisitos mínimos de DDI». Microsoft . Consultado el 2 de agosto de 2012 .
  99. ^ "SharpDX - DirectX administrado". Archivado desde el original el 16 de enero de 2023. Consultado el 30 de septiembre de 2014 .
  100. ^ "sharpdx/SharpDX". GitHub . Consultado el 30 de septiembre de 2014 .

Enlaces externos