Partager via


ID3D12GraphicsCommandList4 ::CopyRaytracingAccelerationStructure, méthode (d3d12.h)

Copie une structure d’accélération source dans la mémoire de destination lors de l’application de la transformation spécifiée.

Syntaxe

void CopyRaytracingAccelerationStructure(
  [in] D3D12_GPU_VIRTUAL_ADDRESS                         DestAccelerationStructureData,
  [in] D3D12_GPU_VIRTUAL_ADDRESS                         SourceAccelerationStructureData,
  [in] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode
);

Paramètres

[in] DestAccelerationStructureData

Mémoire de destination. La taille requise peut être découverte en appelant EmitRaytracingAccelerationStructurePostbuildInfo au préalable, si nécessaire pour le mode spécifié.

L’adresse de départ de destination doit être alignée sur 256 octets, défini comme D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT, quel que soit le mode spécifié.

La plage de mémoire de destination ne peut pas chevaucher la source. Sinon, les résultats ne sont pas définis.

L’état de la ressource dans lequel la mémoire pointée doit se trouver dépend du paramètre Mode . Pour plus d’informations, consultez D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.

[in] SourceAccelerationStructureData

Adresse de la structure d’accélération ou d’un autre type de données à copier/transformer en fonction du mode spécifié. Les données restent inchangées et utilisables. L’opération copie uniquement les données pointées par SourceAccelerationStructureData et non les autres données, telles que les structures d’accélération, vers lesquelles les données sources peuvent pointer. Par exemple, dans le cas d’une structure d’accélération de niveau supérieur, toutes les structures d’accélération de niveau inférieur vers laquelle elle pointe ne sont pas copiées dans l’opération.

La mémoire source doit être alignée sur 256 octets, défini comme D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT, quel que soit le mode spécifié.

L’état de la ressource dans lequel la mémoire pointée doit se trouver dépend du paramètre Mode . Pour plus d’informations, consultez D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.

[in] Mode

Type d’opération de copie à effectuer. Pour plus d’informations, consultez D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.

Valeur de retour

None

Remarques

Étant donné que les structures d’accélération de raytracing peuvent contenir des pointeurs internes et avoir une disposition opaque dépendante de l’appareil, leur copie ou leur manipulation nécessite une API dédiée afin que les pilotes puissent gérer l’opération demandée.

Cette méthode peut être appelée à partir de listes de commandes graphiques ou de calcul, mais pas à partir d’offres groupées.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1809 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2016 (applications de bureau uniquement)
Plateforme cible Windows
En-tête d3d12.h
Bibliothèque D3D12.lib
DLL D3D12.dll

Voir aussi

ID3D12GraphicsCommandList4