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, vea D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS.
La implementación puede examinar todos los parámetros de CPU de esta estructura y structs anidados. Es posible que no inspeccione ni desreferencia ninguna dirección virtual de GPU, aparte de comprobar si un puntero es NULL o no, como la transformación opcional en D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC, sin desreferenciarlo. 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 (en una estructura D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO).
Valor devuelto
Ninguno
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 para BuildRaytracingAccelerationStructure dada la misma geometría.
Las compilaciones también se pueden realizar con la misma configuración que se pasa a GetAccelerationStructurePrebuildInfo en general, excepto recuentos iguales o menores para el número de geometrías o instancias o el número de vértices/índices/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 resulta útil para escenarios de aplicaciones en los que tener un almacenamiento conservadormente grande asignado para las estructuras de aceleración está bien.
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 de la CPU de la llamada, sin tener que desreferenciar ningún puntero a la memoria de GPU que contenga datos reales de vértices, datos de índice, etc.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 10, versión 1809 [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2016 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
d3d12.h |
biblioteca de |
D3d12.lib |
DLL de |
D3d12.dll |