¿Dónde está el SDK de DirectX?
A partir de Windows 8, el SDK de DirectX se incluye como parte de Windows SDK.
Originalmente creamos el SDK de DirectX como una plataforma de alto rendimiento para el desarrollo de juegos sobre Windows. A medida que las tecnologías de DirectX maduraban, se convirtieron en relevantes para una gama más amplia de aplicaciones. Hoy en día, la disponibilidad del hardware de Direct3D en equipos controla incluso las aplicaciones de escritorio tradicionales para usar la aceleración de hardware gráfico. En paralelo, las tecnologías de DirectX están más integradas con Windows. DirectX es ahora una parte fundamental de Windows.
Dado que Windows SDK es el SDK que principalmente se usa para el desarrollo en Windows, ahora DirectX está incluido en él. Ahora puedes usar Windows SDK para crear juegos espectaculares para Windows. Para descargar el SDK de Windows 11, el SDK de Windows 10 o el SDK de Windows 8.x, consulte Windows SDK y el archivo del emulador.
Las siguientes tecnologías y herramientas, anteriormente parte del SDK de DirectX, ahora forman parte de Windows SDK.
Tecnología o herramienta | Descripción |
---|---|
Componentes de gráficos de Windows |
Los encabezados y bibliotecas de Direct3D y otras API de gráficos de Windows, como Direct2D, están disponibles en Windows SDK. Nota: Las bibliotecas de utilidades D3DX9/D3DX10/D3DX11 en desuso están disponibles a través de NuGet, pero también hay varias alternativas de código abierto. La biblioteca de utilidades DirectCompute D3DCSX y dll redistribuible está disponible en Windows SDK. D3DX12 está disponible en GitHub. |
Compilador HLSL (FXC.EXE) |
El compilador HLSL es una herramienta en el subdirectorio de arquitectura adecuado en la carpeta bin de Windows SDK. Nota: La API D3DCompiler y la DLL redistribuible están disponibles en Windows SDK. Para el desarrollo de DirectX 12, use DXCompiler en Windows SDK y hospedado en GitHub. |
PIX para Windows |
Un reemplazo de la herramienta PIX para Windows es ahora una característica de Microsoft Visual Studio, denominada Depurador de gráficos de Visual Studio. Esta característica ha mejorado considerablemente la facilidad de uso, la compatibilidad con Windows 8 y Direct3D 11.1 y la integración con características tradicionales de Microsoft Visual Studio, como pilas de llamadas y ventanas de depuración para la depuración de HLSL . Para obtener más información sobre esta nueva característica, consulta Depuración de gráficos DirectX. Para el desarrollo de DirectX 12, consulta la última generación de PIX en Windows. |
XAudio2 para Windows |
La API de XAudio2 es ahora un componente del sistema en Windows 11, Windows 10 y Windows 8.x. Los encabezados y bibliotecas de XAudio2 están disponibles en Windows SDK. Para obtener compatibilidad con Windows 7, consulta XAudio2Redist. |
XInput para Windows |
La API XInput 1.4 es ahora un componente del sistema en Windows 11, Windows 10 y Windows 8.x. Los encabezados y bibliotecas de XInput están disponibles en Windows SDK. Nota: XInput 9.1.0 heredado también está disponible como parte de Windows 7 o posterior. |
XNAMATH |
La versión más reciente de XNAMATH, que se actualiza para los nuevos conjuntos de instrucciones, así como ARM/ARM64, ahora es DirectXMath. Los encabezados de DirectXMath están disponibles en Windows SDK y en GitHub. |
Visor de funcionalidades de DirectX Panel de control y DirectX |
Las utilidades DirectX Panel de control y DirectX Capabilities Viewer se incluyen en el subdirectorio de arquitectura adecuado en la carpeta bin de Windows SDK. El Visor de funcionalidades de DirectX también está disponible en GitHub. |
XACT |
La Herramienta multiplataforma de audio de Xbox (XACT) ya no se admite para su uso en Windows. |
Explorador de juegos y GDFMAKER |
La API de Games Explorer presenta juegos a los usuarios de Windows. La API de Games Explorer solo se admite en Windows Vista y Windows 7. Usa la herramienta Games Definition File Maker (GDFMAKER.EXE) para declarar clasificaciones de juegos para aplicaciones de la Tienda Windows. La herramienta Creador de archivos de definición de juegos (GDFMaker.exe) se incluye en el subdirectorio x86 en la carpeta bin de Windows SDK y admite aplicaciones de escritorio de la Tienda Windows y Win32. |
Otras herramientas del SDK de DirectX |
Puede encontrar varias herramientas, como dxtex.exe, meshconvert.exe, texconv.exe y uvatlas.exe en línea. Para obtener más información sobre estas herramientas, consulta El catálogo de herramientas del SDK de DirectX. |
Ejemplos |
Puede encontrar aplicaciones de ejemplo que resalte las tecnologías de DirectX 12 en Windows en el repositorio de ejemplos de DirectX . La mayoría de los ejemplos de versiones anteriores de Direct3D también están disponibles en línea. Para obtener más información sobre estos ejemplos, consulta DirectX SDK Samples Catalog(Catálogo de ejemplos del SDK de DirectX). |
DirectX 1.1 administrado |
Los ensamblados de .NET DirectX están en desuso y no se recomiendan para que los usen las nuevas aplicaciones. Hay una serie de alternativas disponibles. Consulte DirectX y .NET. |
El SDK de DirectX heredado está disponible para su descarga desde el Centro de descarga de Microsoft si es necesario, pero no se recomienda usar para nuevos proyectos.
Nota:
El SDK de DirectX no se puede instalar si ya tiene instalada una versión determinada del paquete redistribuible de Visual C++ 2010. Para obtener más información sobre y una solución para corregir este problema, consulta el error "S1023" al instalar el SDK de DirectX (junio de 2010).
Uso de proyectos del SDK de DirectX con Visual Studio
Los ejemplos del SDK de DirectX de junio de 2010 son compatibles con las SKU premium de Visual Studio (Microsoft Visual Studio Professional 2012, Microsoft Visual Studio Ultimate 2012, Microsoft Visual Studio Professional 2013, o Microsoft Visual Studio Ultimate 2013) en Windows 7 y Windows 8 y versiones posteriores. Debido a la transición de encabezados y bibliotecas de DirectX a Windows SDK, se necesitan cambios en la configuración del proyecto para compilar estos ejemplos correctamente con la forma en que Windows 8 SDK y versiones posteriores se empaquetan con las SKU premium de Visual Studio.
Estos pasos también se aplican a sus propios proyectos que dependen del SDK de DirectX.
Asegúrese de que la versión de junio de 2010 del SDK de DirectX esté instalada en el equipo de desarrollo. Si instala en un equipo que ejecuta Windows 8 y versiones posteriores, se le pedirá que habilite .NET 3.5 como instalación de requisitos previos en el SDK de DirectX.
Nota
El SDK de DirectX no se puede instalar si ya tiene instalada una versión determinada del paquete redistribuible de Visual C++ 2010. Para obtener más información sobre y una solución para corregir este problema, consulta el error "S1023" al instalar el SDK de DirectX (junio de 2010).
Asegúrese de que usa una de las SKU premium de Visual Studio. Microsoft Visual Studio Express 2012 para Windows 8 o Microsoft Visual Studio Express 2013 para Windows no compilará Windows 8 ni aplicaciones de escritorio posteriores, como los ejemplos del SDK de DirectX. Para instalar una de las SKU premium de Visual Studio, vaya a: Descargas de Visual Studio y siga las instrucciones.
Use el Explorador de ejemplo del SDK de DirectX para instalar los archivos del proyecto para el ejemplo deseado. Abra el archivo de solución compatible con Microsoft Visual Studio 2010 del ejemplo (con el sufijo _2010).
Si va a abrir el ejemplo en un sistema que solo tiene Instalado Microsoft Visual Studio 2012 o Microsoft Visual Studio 2013, obtendrá el siguiente mensaje: "Esta solución contiene uno o varios proyectos con una versión anterior del compilador y las bibliotecas de VC++. Cada proyecto se puede actualizar para usar el compilador y las bibliotecas de VC++ (v110)." Elija la opción Actualizar de este cuadro de diálogo para actualizar antes de abrir el proyecto.
De lo contrario, puede actualizar al compilador y bibliotecas de Visual Studio 2012 o Visual Studio 2013 compilador y bibliotecas de C++ 11 después de que se hayan cargado haciendo clic con el botón derecho en la solución y seleccionando Actualizar proyectos de VC++.
D3DX no se considera la API canónica para usar Direct3D en Windows 8 y versiones posteriores y, por lo tanto, no se incluye con el SDK de Windows correspondiente. Investigue soluciones alternativas para trabajar con la API de Direct3D. En el caso de los proyectos heredados, como los ejemplos del SDK de DirectX de Windows 7 (y versiones anteriores), se necesitan los pasos siguientes para compilar aplicaciones con D3DX mediante el SDK de DirectX:
Modifique los directorios vc++ del proyecto como se indica a continuación para usar el orden adecuado para los encabezados y bibliotecas del SDK.
- i. Abra **Propiedades** para el proyecto y seleccione la página **Directorios de VC++**.
ii. Seleccione **Todas las configuraciones y Todas las plataformas**.
iii. Establezca estos directorios de la siguiente manera:
- Directorios ejecutables:< hereda de los valores predeterminados primarios> o del proyecto (en la lista desplegable del lado derecho)
- Directorios de inclusión: $(IncludePath);$(DXSDK_DIR)Include
- Incluir directorios de biblioteca: $(LibraryPath);$(DXSDK_DIR)Lib\x86
- Directorios de biblioteca: $(LibraryPath);$(DXSDK_DIR)Lib\x64
iv. Haga clic en Aplicar.
v. Elija la plataforma x64.
vi. Establezca el directorio de biblioteca de la siguiente manera:Siempre que "d3dx9.h", "d3dx10.h" o "d3dx11.h" se incluyan en el proyecto, asegúrese de incluir explícitamente "d3d9.h", "d3d10.h" y "dxgi.h" o "d3d11.h" y "dxgi.h" primero para asegurarse de que está seleccionando la versión más reciente. Puede deshabilitar la advertencia C4005 si es necesario; Sin embargo, esta advertencia indica que está usando la versión anterior de estos encabezados.
Quite todas las referencias a DXGIType.h en el proyecto. Este encabezado no existe en Windows SDK y la versión del SDK de DirectX entra en conflicto con el nuevo winerror.h.
Todas las DLL D3DX se instalan en el equipo de desarrollo mediante la instalación del SDK de DirectX. Asegúrese de que las dependencias D3DX necesarias se redistribuyan con cualquier ejemplo o con la aplicación si se mueve a otra máquina.
Tenga en cuenta que las tecnologías de reemplazo para usos actuales de D3DX11 incluyen DirectXTex, DirectXTK, DirectXMesh y UVAtlas. D3DXMath se reemplaza por DirectXMath.
Asegúrese de que usa la nueva versión del compilador de sombreador HLSL observando las condiciones siguientes:
Cambiar el directorio ejecutable según el paso 5 hará que las compilaciones del proyecto usen FXC desde la instalación de Windows SDK. Tenga en cuenta que Visual Studio reconoce oficialmente los archivos HLSL. Puede agregarlos como archivos de proyecto y establecer opciones del compilador a través del sistema del proyecto.
Al invocar la compilación en tiempo de ejecución a través del archivo DLL D3DX heredado, se usará la versión anterior incorrecta del compilador HLSL. Reemplace todas las referencias a las API D3DXCompile*, D3DX10Compile*y D3DX11Compile* en el código por la función D3DCompile en D3DCOMPILER_46.DLL o D3DCOMPILER_47.DLL.
Cualquier proyecto que use la compilación del sombreador en tiempo de ejecución debe tener D3DCOMPILER_xx.DLL copiados en la ruta de acceso ejecutable local del proyecto. Este archivo DLL está disponible en este subdirectorio de la instalación de Windows SDK en %ProgramFiles(x86)%\Windows Kits\8.0\Redist\D3D\<arch> o %ProgramFiles(x86)%\Windows Kits\8.1\Redist\D3D\<arch> donde <arch> es x86 y x64.
El D3DCOMPILER_46.DLL o D3DCOMPILER_47.DLL de Windows SDK no es un componente del sistema y no se debe copiar en el directorio del sistema de Windows. Puede redistribuir este archivo DLL a otros equipos con la aplicación como un archivo DLL en paralelo.
Cualquier proyecto que use la API XInput y esté pensado para ejecutarse en Windows 7 o versiones anteriores de Windows debe usar la versión heredada (9.1.0) o tendrá que incluir explícitamente los encabezados y bibliotecas de este componente desde el SDK de DirectX. Encabezado XInput y XINPUT. LIB que se incluyen en El SDK de Windows solo tiene como destino la versión (1.4) que se incluye como parte de Windows 8 y versiones posteriores. El mismo encabezado se puede usar con XINPUT9_1_0.LIB para usar la versión heredada, que se incluye con versiones anteriores de Windows. La versión heredada de XInput no detecta funcionalidades completas ni admite audio integrado por el controlador, por lo que si se requiere compatibilidad con estas características, debe usar la versión del SDK de DirectX (1.3).
Para usar la API XInput de nivel inferior completa, debe tener
#include
directamente los encabezados XInput específicos del SDK de DirectX:#include <%DXSDK_DIR%Include\xinput.h>
... y en las opciones del enlazador para dependencias adicionales, vincule directamente a la biblioteca XInput del SDK de DirectX:
%DXSDK_DIR%Include\<arch>\xinput.lib
El XINPUT1_3.DLL binario se instala en los directorios del sistema Windows mediante la instalación del SDK de DirectX en el equipo de desarrollo. Tendrá que redistribuir este binario con la aplicación mediante la instalación del programa de instalación de DirectX desde el SDK de DirectX.
Cualquier proyecto que use la API XAudio2 y que esté pensado para ejecutarse en Windows 7 o versiones anteriores de Windows debe usar la versión anterior (9.1.0) o incluir explícitamente los encabezados y bibliotecas de este componente desde el SDK de DirectX. Los encabezados y bibliotecas XAudio2 que se incluyen con el SDK de Windows tienen como destino solo la versión (2.8) que se incluye como parte de Windows 8.
Por ejemplo, con XAudio2, debe tener
#include
directamente los encabezados XAudio2 específicos del SDK de DirectX:#include <%DXSDK_DIR%Include\xaudio2.h>
... y en las opciones del enlazador para dependencias adicionales, vincule directamente a la biblioteca XAudio2 del SDK de DirectX:
%DXSDK_DIR%Include\<arch>\xaudio2.lib
El XAUDIO2_7.DLL binario se instala en los directorios del sistema Windows mediante la instalación del SDK de DirectX en el equipo de desarrollo. Debe redistribuir estas bibliotecas con la aplicación mediante la instalación del programa de instalación de DirectX desde el SDK de DirectX.
Si ha usado el SDK de DirectX con versiones anteriores de Visual Studio, es posible que la actualización de Visual Studio 2010 haya migrado la ruta de acceso del SDK de DirectX a la configuración predeterminada del proyecto. Se recomienda quitar esta configuración para evitar errores de compilación futuros. En el directorio %USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0 , modifique los archivos Microsoft.Cpp.Win32.user y Microsoft.Cpp.x64.user para quitar todas las referencias a rutas de acceso de DXSDK_DIR. Como alternativa, puede quitar todo <el nodo PropertyGroup> que contiene las entradas Path como <ExecutablePath e <IncludePath>> para revertir a los valores predeterminados estándar. Si no ve referencias a DXSDK_DIR en estos archivos, no es necesario realizar ningún cambio.
Si la aplicación resultante admite Windows Vista con Service Pack 2 (SP2), así como Windows 7 y Windows 8 y versiones posteriores, establezca la definición del preprocesador denominada _WIN32_WINNT en 0x600. Si solo admite Windows 7 y Windows 8 y versiones posteriores, establézcalo en 0x601.
Por ejemplo:
- Abra Propiedades para el proyecto y seleccione Preprocesador de C/C++>.
- Seleccione Todas las configuraciones y Todas las plataformas.
- Vaya a la sección Definiciones del preprocesador y establezca _WIN32_WINNT=0x600.
- Haga clic en Aplicar.
Temas relacionados
-
Juegos para Windows y el SDK de DirectX