DirectX 레이트 레이싱 계층 1.1, 새로운 Directx 12 기능 | 기술력 - 마이크로 소프트

Microsoft의 DirectX Raytracing Tier 1.1, 새로운 DirectX 12 기능



Microsoft detailed feature additions to the DirectX 12 3D graphics API, and an expansion of its DirectX Ray-tracing (DXR) API to Tier 1.1. The updated APIs will be included with the Windows 10 major update that's scheduled for the first half of 2020 - the features are accessible already for developers in Windows Insider preview builds. DXR 1.1 is the first major update to the API since its Q4-2018 launch, and adds three major features. To begin with, it brings support for extra shaders to an existing ray-tracing PSO (pipeline-state object), increasing the efficiency of dynamic PSO additions. Next up, is ExecuteIndirect for Raytracing support, described by Microsoft as 'enabling adaptive algorithms where the number of rays is decided on the GPU execution timeline.' This could be a hint what to expect from NVIDIA's next-generation GPUs that are expected for next year. Lastly, the API introduces support for Inline Raytracing, which gives developers more control over ray traversal and scheduling.

기본 DirectX 12 API에서 Microsoft는 메시 쉐이더에 대한 지원을 도입하여 그래픽 파이프 라인을 체계적으로 변경합니다. '메시 셰이더 및 증폭 셰이더는 차세대 GPU 지오메트리 처리 기능으로 현재 입력 어셈블러, 버텍스 셰이더, 헐 셰이더, 테셀 레이터, 도메인 셰이더 및 지오메트리 셰이더 단계를 대체합니다. DirectX 샘플러 피드백은 게임이 어떤 텍스처 자산에 더 자주 액세스하고 상주해야하는지 더 잘 이해할 수 있도록하여 메모리 관리에 기여합니다. Microsoft는 다음과 같은 두 가지 주요 API 기능인 스트림 텍스처 및 텍스처 공간 음영에 대한 DirectX 샘플러 피드백의 성능 영향을 설명합니다.

텍스처 스트리밍
많은 차세대 게임에도 같은 문제가 있습니다. 더 높은 품질의 텍스처로 더 큰 세상을 렌더링 할 때 게임 시간이 길어 지거나 메모리 압력이 높아지거나 둘 다가 발생합니다. 게임 개발자는 자산 품질을 낮추거나 런타임에 필요 이상으로 텍스처를로드해야합니다. 4k 해상도를 대상으로 할 때 고품질 텍스처의 전체 MIP 0은 많은 공간을 차지합니다! 가장 상세한 MIP 레벨의 필요한 부분 만로드 할 수있는 것이 매우 바람직합니다.

이 문제에 대한 한 가지 해결책은 아래에 설명 된대로 텍스쳐 스트리밍입니다. 여기서 샘플러 피드백은 올바른 데이터를 적시에로드 할 수있는 정확도를 크게 향상시킵니다.
  • 샘플러 피드백을 사용하여 장면을 렌더링하고 원하는 텍스처 타일을 기록하십시오.
  • 원하는 MIP 레벨의 텍스처 타일이 아직 상주하지 않은 경우 :
    낮은 MIP 수준을 사용하여 현재 프레임을 렌더링합니다.
    o 원하는 텍스처 타일을로드하기 위해 디스크 IO 요청을 제출하십시오.
  • (비동기 적으로)로드 될 때 원하는 텍스처 타일을 예약 된 리소스에 매핑합니다.
텍스처 공간 음영
흥미로운 또 다른 시나리오는 게임이 텍스처에 중간 셰이더 값을 동적으로 계산하고 저장하여 공간 및 시간 렌더링 중복성을 줄이는 텍스처 공간 음영입니다. 워크 플로우는 다음과 같습니다. 여기서 샘플러 피드백은 실제로 필요하지 않은 텍스처의 중복 작업 컴퓨팅 부분을 피함으로써 효율성을 크게 향상시킵니다.
  • 샘플러 피드백을 기록하는 간단한 쉐이더로 지오메트리를 그려 텍스처의 어느 부분이 필요한지 결정하십시오.
  • 필요한 텍스처를 채우기 위해 계산 작업을 제출하십시오.
  • 이번에는 생성 된 텍스처 데이터를 적용하는 실제 쉐이더로 형상을 다시 그립니다.
다른 특징들
  • PIX 마커에 대한 DRED 지원
  • D3D9on12 매핑 레이어와 상호 작용하기위한 새로운 API
  • 공유 자원에 대해 지원되는 R11G11B10_FLOAT 형식
  • D3D12 리소스를 GPU 메모리에 상주시키지 않거나 초기화하지 않고 리소스 생성 성능을 향상시킬 수있는 새로운 리소스 할당 플래그
  • D3DConfig : DirectX 제어판 설정을 관리하는 새로운 도구
PIX 지원
이러한 새로운 DirectX 12 기능에 대한 PIX 지원은 향후 몇 개월 내에 제공 될 예정입니다. 앞으로 몇 주 안에 각 기능을 자세히 살펴볼 때 자세한 내용을 알려 드리겠습니다.
Source: Microsoft DirectX Developer Blog