> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_RAYTRACING_INSTANCE_DESC (consolas XBOX Series)

> 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.

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

```cpp theme={null}
typedef struct D3D12_RAYTRACING_INSTANCE_DESC
{
    FLOAT[4] Transform;
    UINT InstanceID;
    UINT InstanceMask;
    UINT InstanceContributionToHitGroupIndex;
    UINT Flags;
    D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure;
} D3D12_RAYTRACING_INSTANCE_DESC
```

### 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.

<Note>
  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.
</Note>

*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](https://learn.microsoft.com/en-us/windows/win32/direct3d12/traceray-function).

*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](/reference/graphics/d3d12/enums/d3d12_raytracing_instance_flags_public) 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](https://learn.microsoft.com/en-us/windows/win32/direct3d12/constants). 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](/reference/graphics/d3d12_x/enums/d3d12_resource_states).

## 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


## Related topics

- [D3D12_RAYTRACING_INSTANCE_FLAGS (consolas XBOX Series)](/es/reference/graphics/d3d12/enums/d3d12_raytracing_instance_flags_public.md)
- [D3D12_RAYTRACING_GEOMETRY_DESC (consolas XBOX Series)](/es/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_desc_public.md)
- [D3D12_RAYTRACING_GEOMETRY_AABBS_DESC (consolas XBOX Series)](/es/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_aabbs_desc_public.md)
- [D3D12_RAYTRACING_GEOMETRY_FLAGS (consolas XBOX Series)](/es/reference/graphics/d3d12/enums/d3d12_raytracing_geometry_flags_public.md)
- [D3D12_RAYTRACING_GEOMETRY_TYPE (consolas XBOX Series)](/es/reference/graphics/d3d12/enums/d3d12_raytracing_geometry_type_public.md)
