Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Describe la instalación, las herramientas y las bibliotecas admitidas que componen un entorno de desarrollo productivo de Direct3D 12.
- del entorno de desarrollo de
- idiomas admitidos
- estructuras del asistente de
- biblioteca de administración de memoria de
- bibliotecas y herramientas admitidas
- ejemplos de
- de capa de depuración de
- vídeos educativos
- temas relacionados
Entorno de desarrollo
Los encabezados y bibliotecas de Direct3D 12 forman parte del SDK de Windows 10. No hay ninguna descarga o instalación independiente necesaria para usar Direct3D 12.
Después de instalar el software del SDK de Windows 10 y Visual Studio, se completa la configuración del entorno de programación de Direct3D 12. Se recomienda Visual Studio 2019, ya que incluirá las herramientas de depuración de gráficos D3D12, pero las versiones anteriores de Visual Studio funcionarán para el desarrollo de programas.
Para usar la API de Direct3D 12, incluya D3d12.h y vincule a D3d12.lib, o consulte los puntos de entrada directamente en D3d12.dll.
Están disponibles los siguientes encabezados y bibliotecas. La ubicación de las bibliotecas estáticas depende de la versión (de 32 o 64 bits) de Windows 10 que se ejecuta en el equipo.
Nombre de archivo de encabezado o biblioteca | Descripción | Ubicación de instalación |
---|---|---|
D3d12.h | Encabezado de api de Direct3D 12 | %WindowsSdkDir\Include%WindowsSDKVersion%\\mmm |
D3d12.lib | Biblioteca de código auxiliar estático de la API de Direct3D 12 | %WindowsSdkDir\Lib%WindowsSDKVersion%\\mmm\arch |
D3d12.dll | Biblioteca dinámica de API de Direct3D 12 | %WINDIR%\System32 |
D3d12SDKLayers.h | Encabezado de depuración de Direct3D 12 | %WindowsSdkDir\Include%WindowsSDKVersion%\\mmm |
D3d12SDKLayers.dll | Biblioteca de depuración dinámica de Direct3D 12 | %WINDIR%\System32 |
Idiomas admitidos
C++ es el único lenguaje admitido para el desarrollo de Direct3D 12, C# y otros lenguajes .NET no se admiten.
Estructuras auxiliares
Hay una serie de estructuras auxiliares que, en particular, facilitan la inicialización de una serie de estructuras D3D12. Estas estructuras y algunas funciones de utilidad se encuentran en el encabezado D3dx12.h. Este encabezado es de código abierto y puede modificarlo un desarrollador según sea necesario: descárguelo de La biblioteca auxiliar D3D12 y consulte Estructuras auxiliares y funciones para D3D12.
Biblioteca de administración de memoria
Hay disponible una biblioteca auxiliar de administración de memoria para descargar que puede integrar en la aplicación para que coincida con el comportamiento de administración de memoria D3D11. Como biblioteca de administración de estilos D3D11, es más eficaz con las aplicaciones que siguen usando un recurso confirmado estrategia de asignación de estilo. En concreto, la biblioteca debe verse como una piedra paso a paso que le llevará la mayor parte del camino hacia la administración de memoria eficaz D3D11 cuando se encuentra en escenarios con limitaciones de memoria (por ejemplo, tarjetas de memoria de bajo nivel, 4k, configuración ultra, etc.). Las API D3D12 permiten técnicas que permiten obtener una mayor eficacia de memoria en D3D11, aunque estas técnicas pueden ser difíciles y lentas de implementar.
Tenga en cuenta que esta biblioteca es un trabajo en curso y puede cambiar con el tiempo. Use los vínculos siguientes para acceder a la biblioteca y ejemplos.
Herramientas y bibliotecas admitidas
Todas las bibliotecas siguientes se pueden usar con Direct3D 12.
Biblioteca | Propósito | Documentación |
---|---|---|
Kit de herramientas de DirectX para DirectX 12 | Una colección sustancial de clases auxiliares para escribir código de C++ de Direct3D 12 para aplicaciones para la Plataforma universal de Windows (UWP), aplicaciones de escritorio Win32 para Windows 10 y aplicaciones exclusivas de Xbox One. | wiki de DirectX12TK de |
directXTex | Úselo para leer y escribir archivos DDS y realizar varias operaciones de procesamiento de contenido de textura, como el cambio de tamaño, la conversión de formato, la generación de mapas mip, la compresión de bloques para los recursos de textura en tiempo de ejecución de Direct3D y la asignación de alto a la conversión de mapa normal. | wiki de DirectXTex |
DirectXMesh | Úselo para realizar varias operaciones de procesamiento de contenido de geometría, como generar fotogramas normales y tangentes, cálculos de adyacencia de triángulos y optimización de caché de vértices. | wiki de DirectXMesh |
DirectXMath | Un gran número de clases auxiliares y métodos para admitir vectores, escalares, matrices, cuaterniones y muchas otras operaciones matemáticas. | documentación de DirectXMath en MSDN |
UVAtlas | Úselo para crear y empaquetar un atlas de texturas isochart. | wiki de UVAtlas de |
Muestras
Para obtener una lista de ejemplos de D3D12 de trabajo y cómo localizarlos y ejecutarlos, consulte Ejemplos de trabajo.
Para ver los tutoriales sobre cómo agregar código para habilitar características concretas, consulte tutoriales de código D3D12.
Capa de depuración
La capa de depuración proporciona una amplia validación adicional de parámetros y coherencia (como validar la vinculación del sombreador y el enlace de recursos, validar la coherencia de los parámetros y notificar descripciones de errores).
Nota
Para Windows 10, para crear un dispositivo que admita la capa de depuración, habilite la característica opcional "Herramientas de gráficos". En Windows 10 22H2, vaya al panel Configuración, en Sistema. En versiones anteriores de Windows 10, vaya al panel Configuración, en Aplicaciones > Aplicaciones & características. Vaya a Características opcionales > Agregar una característica y busque "Herramientas de gráficos".
El encabezado necesario para admitir la capa de depuración, D3D12SDKLayers.h, se incluye de forma predeterminada desde d3d12.h.
Cuando la capa de depuración muestra pérdidas de memoria, genera una lista de punteros de interfaz de objeto junto con sus nombres descriptivos. El nombre descriptivo predeterminado es "<>sin nombre ". Puede establecer el nombre descriptivo mediante el método ID3D12Object::SetName. Normalmente, debe compilar estas llamadas fuera de la versión de producción.
Se recomienda usar la capa de depuración para depurar las aplicaciones para asegurarse de que están limpias de errores y advertencias. La capa de depuración le ayuda a escribir código de Direct3D 12. Además, la productividad puede aumentar al usar la capa de depuración porque puede ver inmediatamente las causas de errores de representación ocultos o incluso pantallas negras en su origen. La capa de depuración proporciona advertencias para muchos problemas. Por ejemplo:
- Olvidó establecer una textura pero leerla en el sombreador de píxeles.
- Profundidad de salida pero no tiene ningún estado de galería de símbolos de profundidad enlazado.
- Error en la creación de texturas con INVALIDARG.
Establezca el compilador define D3DCOMPILE_DEBUG para indicar al compilador de HLSL que incluya información de depuración en el blob del sombreador.
#define D3DCOMPILE_DEBUG 1
Para obtener más información sobre todas las interfaces y métodos de depuración, consulte la referencia de capa de depuración .
Para obtener información general sobre el uso de la capa de depuración, consulte Descripción de la capa de depuración D3D12.
Vídeos educativos
Hay varios vídeos relacionados con Direct3D 12 y Windows 10 en tutoriales de vídeo de aprendizaje avanzado de DirectX, incluidos vídeos sobre herramientas de depuración de gráficos y informes de errores de gráficos.
Temas relacionados