Método ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo (d3d12.h)

Consulte el controlador para conocer los requisitos de recursos para crear una estructura de aceleración.

Sintaxis

void GetRaytracingAccelerationStructurePrebuildInfo(
  [in]  const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
  [out] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO      *pInfo
);

Parámetros

[in] pDesc

Descripción de la compilación de la estructura de aceleración. Esta estructura se comparte con BuildRaytracingAccelerationStructure. Para obtener más información, consulte D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS.

La implementación puede examinar todos los parámetros de CPU de esta estructura y structs anidados. No puede inspeccionar ni desreferenciar ninguna dirección virtual de GPU, excepto comprobar si un puntero es NULL o no, como la transformación opcional en D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC, sin desreferenciarla. En otras palabras, el cálculo de los requisitos de recursos para la estructura de aceleración no depende de los datos de geometría reales (como las posiciones de vértice), sino que solo puede depender de propiedades generales, como el número de triángulos, el número de instancias, etc.

[out] pInfo

Resultado de la consulta.

Valor devuelto

None

Observaciones

La descripción de la estructura de aceleración de entrada es la misma que la que entra en BuildRaytracingAccelerationStructure. El resultado de esta función permite a la aplicación proporcionar la cantidad correcta de almacenamiento de salida y almacenamiento temporal a BuildRaytracingAccelerationStructure dada la misma geometría.

Las compilaciones también se pueden realizar con la misma configuración que se pasa a GetAccelerationStructurePrebuildInfo , excepto los recuentos iguales o menores para el número de geometrías o instancias o el número de vértices, índices o AABB en cualquier geometría determinada. En este caso, los requisitos de almacenamiento notificados con los tamaños originales pasados a GetRaytracingAccelerationStructurePrebuildInfo serán válidos: la compilación puede consumir menos espacio, pero no más. Esto es útil para escenarios de aplicaciones en los que el almacenamiento conservadormente grande asignado a las estructuras de aceleración es correcto.

Este método se encuentra en la interfaz de dispositivo en lugar de en la lista de comandos en la suposición de que los controladores deben poder calcular los requisitos de recursos para una compilación de estructura de aceleración solo mirando las partes visibles para la CPU de la llamada, sin tener que desreferenciar ningún puntero a la memoria de GPU que contenga datos de vértices reales, datos de índice, etc.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1809 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2016 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado d3d12.h
Library D3d12.lib
Archivo DLL D3d12.dll

Consulte también

ID3D12Device5