다음을 통해 공유


ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo 메서드(d3d12.h)

드라이버에서 리소스 요구 사항을 쿼리하여 가속 구조를 빌드합니다.

구문

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

매개 변수

[in] pDesc

가속 구조 빌드에 대한 설명입니다. 이 구조체는 BuildRaytracingAccelerationStructure와 공유됩니다. 자세한 내용은 D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS.

구현은 이 구조체 및 중첩된 구조체의 모든 CPU 매개 변수를 볼 수 있습니다. 역참조 없이 D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC 선택적 변환과 같이 포인터가 NULL인지 여부를 확인하기 위해 검사 이외의 GPU 가상 주소를 검사/역참조할 수 없습니다. 즉, 가속 구조에 대한 리소스 요구 사항 계산은 실제 기하 도형 데이터(예: 꼭짓점 위치)에 의존하지 않고 삼각형 수, 인스턴스 수 등과 같은 전체 속성에만 의존할 수 있습니다.

[out] pInfo

쿼리의 결과입니다.

반환 값

없음

설명

입력 가속 구조 설명은 BuildRaytracingAccelerationStructure에 들어가는 설명과 동일합니다. 이 함수의 결과를 통해 애플리케이션은 동일한 기하 도형을 고려하여 BuildRaytracingAccelerationStructure 에 올바른 양의 출력 스토리지 및 스크래치 스토리지를 제공할 수 있습니다.

기하 도형/인스턴스 수 또는 지정된 기하 도형의 꼭짓점/인덱스/AABB 수에 대해 같거나 더 작은 수를 제외하고 전체적으로 GetAccelerationStructurePrebuildInfo 에 전달된 동일한 구성으로 빌드를 수행할 수도 있습니다. 이 경우 GetRaytracingAccelerationStructurePrebuildInfo 에 전달된 원래 크기로 보고된 스토리지 요구 사항이 유효합니다. 빌드는 실제로 공간을 적게 소비하지만 그 이상은 사용할 수 없습니다. 이는 가속 구조에 대해 보수적으로 큰 스토리지를 할당하는 것이 괜찮은 앱 시나리오에 유용합니다.

이 메서드는 드라이버가 실제 꼭짓점 데이터, 인덱스 데이터 등을 포함하는 GPU 메모리에 대한 포인터를 역참조할 필요 없이 호출의 CPU 표시 부분만 보고 가속 구조 빌드에 대한 리소스 요구 사항을 계산할 수 있어야 한다는 가정 하에 명령 목록이 아닌 디바이스 인터페이스에 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1809[데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2016 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 d3d12.h
라이브러리 D3d12.lib
DLL D3d12.dll

추가 정보

ID3D12Device5