D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS 열거형(d3d12umddi.h)

광선 추적 가속 구조 빌드 플래그를 지정합니다.

Syntax

typedef enum D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY,
  D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE
} ;

상수

 
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE
가속 구조 빌드에 대해 지정된 옵션이 없습니다.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE
앱이 완전히 다시 빌드되는 대신 플래그 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE 통해 향후 업데이트를 지원하도록 가속 구조를 빌드합니다. 이 옵션을 사용하면 메모리 사용량과 빌드 시간이 증가하고 광선 추적 성능이 낮아질 수 있습니다. 그러나 향후 업데이트는 동등한 가속 구조를 처음부터 빌드하는 것보다 더 빠릅니다.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION
압축 모드로 CopyRaytracingAccelerationStructure를 호출하여 가속 구조를 압축하는 옵션을 사용하도록 설정합니다. D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE 참조하세요.
이 옵션을 사용하면 메모리 사용량 및 빌드 시간이 증가할 수 있습니다. 그러나 향후 압축 후 결과 가속 구조는 더 작은 메모리 공간을 사용해야 하며, 처음부터 가속 구조를 빌드하는 것보다 크지 않아야 합니다.

이 플래그는 다른 모든 플래그와 호환됩니다. 가속 구조 업데이트의 일부로 지정된 경우 원본 가속 구조도 이 플래그를 사용하여 빌드되어야 합니다.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE
추가 빌드 시간을 희생하면서 광선 추적 성능을 최대화하는 고품질 가속 구조를 생성합니다. 추적 성능을 향상시키려면 구현에 기본 빌드 시간의 약 2~3배가 소요되어야 한다는 대략적인 규칙이 있습니다.

이 플래그는 특히 정적 기하 도형에 권장됩니다. 또한 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD 제외한 다른 모든 플래그와도 호환됩니다.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD
낮은 품질 가속 구조를 구성하고 빌드 속도를 위해 광선 추적 성능을 거래합니다. 대략적인 규칙은 구현이 추적 성능의 희생으로 기본 빌드 시간의 약 1/2~1/3이 소요되어야 한다는 것입니다.

이 플래그는 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE 제외한 다른 모든 플래그와 호환됩니다.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY
가속 구조 빌드 중에 사용되는 스크래치 메모리의 양과 결과 크기를 최소화합니다. 이 옵션을 사용하면 빌드 시간 및/또는 광선 추적 시간이 증가할 수 있습니다.

이는 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION 플래그에 대한 직교이며, 이를 가능하게 하는 명시적 가속 구조 압축입니다. 플래그를 결합하면 초기 가속 구조와 압축 결과로 메모리가 적게 사용됨을 의미할 수 있습니다.
빌드에 이 플래그를 사용하는 경우의 영향은 빌드에 대한 메모리 요구 사항을 검색하기 위해 빌드를 수행하기 전에 GetRaytracingAccelerationStructurePrebuildInfo 를 호출한 결과에 반영됩니다.

이 플래그는 다른 모든 플래그와 호환됩니다.
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE
처음부터 빌드하는 것이 아니라 가속 구조 업데이트를 수행합니다. 이는 전체 빌드보다 빠르지만, 특히 업데이트 전에 기본 개체의 위치가 가속 구조의 원래 빌드에서 크게 변경된 경우 광선 추적 성능에 부정적인 영향을 미칠 수 있습니다.

원본 및 대상 가속 구조의 주소가 동일한 경우 업데이트가 현재 위치에서 수행됩니다. 원본 및 대상의 다른 주소 범위가 겹치는 것은 잘못되었습니다. 겹치지 않는 원본 및 대상의 경우 원본 가속 구조는 수정되지 않습니다. 출력 가속 구조에 대한 메모리 요구 사항은 입력 가속 구조와 동일합니다.

이 플래그는 다른 모든 플래그와 호환됩니다. D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE 설정되거나 설정되지 않을 수 있지만 업데이트가 계속 허용되기 때문에 차이가 없습니다. D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE 및 D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE 제외한 다른 플래그 선택은 소스 가속 구조의 플래그와 일치해야 합니다.

가속 구조 업데이트는 무제한 연속으로 수행할 수 있습니다. 원본 가속 구조는 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE, D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE 사용하여 만들어졌거나 복제된 경우 원래 가속 구조가 이러한 방법 중 하나로 생성되어야 합니다. 기본적으로 가속 구조는 업데이트가 발생할 수 있다는 기대와 함께 구성해야 했습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1809
머리글 d3d12umddi.h