Compartir a través de


Walk-Throughs de código D3D12

En esta sección se proporciona código para escenarios de ejemplo. Muchos de los tutoriales proporcionan detalles sobre qué codificación se debe agregar a un ejemplo básico, para evitar repetir el código de componente básico para cada escenario.

Para obtener el componente más básico, consulte la sección Creación de un componente básico de Direct3D 12. En los siguientes tutoriales se describen escenarios más avanzados.

En esta sección

Tema Descripción
D2D con D3D11on12
El D3D1211on12 muestra cómo representar contenido D2D a través del contenido D3D12 mediante el uso compartido de recursos entre un dispositivo basado en 11 y un dispositivo basado en 12.
de simulación de gravedad n-cuerpo multimotor
El ejemplo de D3D12nBodyGravity muestra cómo realizar el trabajo de proceso de forma asincrónica. El ejemplo pone en marcha una serie de subprocesos cada uno con una cola de comandos de proceso y programa el trabajo de proceso en la GPU que realiza una simulación de gravedad de n cuerpos. Cada subproceso funciona en dos búferes llenos de datos de posición y velocidad. Con cada iteración, el sombreador de proceso lee los datos de posición y velocidad actuales de un búfer y escribe la siguiente iteración en el otro búfer. Cuando se completa la iteración, el sombreador de proceso intercambia qué búfer es el SRV para leer los datos de posición y velocidad y cuál es el UAV para escribir actualizaciones de posición y velocidad cambiando el estado del recurso en cada búfer.
consultas de predicación de
El ejemplo D3D12PredicationQueries muestra la selección de oclusión mediante montones y predicación de consultas de DirectX 12. En el tutorial se describe el código adicional necesario para ampliar el ejemplo de HelloConstBuffer para controlar las consultas de predicación.
indexación dinámica mediante HLSL 5.1
El D3D12DynamicIndexing muestra algunas de las nuevas características de HLSL disponibles en Shader Model 5.1 , especialmente la indexación dinámica y las matrices sin enlazar, para representar la misma malla varias veces, cada vez que se representa con un material seleccionado dinámicamente. Con la indexación dinámica, los sombreadores ahora pueden indexar en una matriz sin conocer el valor del índice en tiempo de compilación. Cuando se combina con matrices sin enlazar, esto agrega otro nivel de direccionamiento indirecto y flexibilidad para autores de sombreador y canalizaciones de arte.
dibujo indirecto y selección de GPU
En el ejemplo D3D12ExecuteIndirect se muestra cómo usar comandos indirectos para dibujar contenido. También muestra cómo se pueden manipular estos comandos en la GPU en un sombreador de proceso antes de que se emitan.

guía de programación de Direct3D 12

tutoriales de vídeo de aprendizaje avanzado de DirectX

código de ejemplo en el de referencia D3D12

ejemplos de trabajo