Skip to main content
Describe una instancia de una estructura de aceleración de trazado de rayos que se usa en la memoria de GPU durante el proceso de compilación de la estructura de aceleración.

Sintaxis

Miembros

Transform
Tipo: FLOAT[3][4]
Una matriz de transformación de 3x4 con diseño por filas (row-major) que representa la transformación de instancia a mundo. Las implementaciones transforman los rayos, en lugar de transformar toda la geometría o los AABB.
El diseño de Transform es una transposición de la forma en que las matrices afines se almacenan habitualmente en memoria. En lugar de cuatro vectores de 3 elementos, Transform se dispone como tres vectores de 4 elementos.
InstanceID
Tipo: UINT
Un valor arbitrario de 24 bits al que se puede acceder mediante la función intrínseca InstanceID en los tipos de sombreador compatibles. InstanceMask
Tipo: UINT
Una máscara de 8 bits asignada a la instancia, que puede usarse para incluir o rechazar grupos de instancias por cada rayo. Si el valor es cero, la instancia nunca se incluirá, por lo que normalmente debe establecerse en algún valor distinto de cero. Para obtener más información, consulte el parámetro InstanceInclusionMask de la función TraceRay. InstanceContributionToHitGroupIndex
Tipo: UINT
Un valor arbitrario de 24 bits que representa la contribución por instancia que se agrega a la indexación de la tabla de sombreadores para seleccionar el grupo de aciertos que se va a usar. Flags
Tipo: UINT
Una máscara de 8 bits que representa las marcas de D3D12_RAYTRACING_INSTANCE_FLAGS que se aplicarán a la instancia. AccelerationStructure
Tipo: D3D12_GPU_VIRTUAL_ADDRESS
Dirección de la estructura de aceleración de nivel inferior de la que se crea la instancia. La dirección debe estar alineada a 256 bytes, definido como D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT. Cualquier estructura de aceleración existente que se pase aquí ya habría tenido que colocarse con dicha alineación. La memoria a la que se apunta debe estar en el estado D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.

Comentarios

Esta definición de estructura de C++ es útil si primero genera los datos de instancia en la CPU y luego los carga en la GPU. Pero su aplicación también es libre de generar descripciones de instancia directamente en la memoria de GPU (desde sombreadores de proceso, por ejemplo) siguiendo el mismo diseño.

Requisitos

Encabezado: d3d12_xs.h
Biblioteca: d3d12_xs.lib
Plataformas compatibles: consolas XBOX Series
Última modificación el 28 de agosto de 2026