연습: Direct3D 11에서 깊이 버퍼를 사용하여 섀도 볼륨 구현
이 연습에서는 모든 Direct3D 기능 수준의 디바이스에서 Direct3D 11을 사용하여 깊이 맵을 사용하여 섀도 볼륨을 렌더링하는 방법을 보여 줍니다.
항목 | 설명 |
---|---|
섀도 볼륨에 대한 깊이 테스트를 지원하는 데 필요한 Direct3D 디바이스 리소스 생성 방법을 알아봅니다. |
|
조명의 관점에서 렌더링하여 섀도 볼륨을 나타내는 2차원 깊이 맵을 생성합니다. |
|
꼭짓점(또는 기하 도형) 셰이더 및 픽셀 셰이더에 깊이 테스트를 추가하여 섀도 효과를 생성합니다. |
|
더 빠른 디바이스에서 충실도가 더 높은 섀도를 렌더링하고 덜 강력한 디바이스에서 더 빠른 섀도를 렌더링합니다. |
Direct3D 9 데스크톱 포팅에 대한 섀도 매핑 애플리케이션
Windows 8에서는 기능 수준 9_1과 9_3에 깊이 비교 기능이 추가되었습니다. 이제 섀도 볼륨이 있는 렌더링 코드를 DirectX 11로 마이그레이션할 수 있으며 Direct3D 11 렌더러는 기능 수준 9 디바이스와 호환 가능합니다. 이 연습에서는 모든 Direct3D 11 앱 또는 게임이 깊이 테스트를 사용하여 기존 섀도 볼륨을 구현하는 방법을 보여 줍니다. 코드는 다음 프로세스를 다룹니다.
- 섀도 매핑용 Direct3D 디바이스 리소스 생성.
- 렌더링 패스를 추가하여 깊이 맵 생성.
- 기본 렌더링 패스에 깊이 테스트 추가.
- 필요한 셰이더 코드 구현.
- 다운레벨 하드웨어에서 빠른 렌더링을 위한 옵션.
이 연습을 완료하면 기능 수준 9_1 이상과 호환되는 Direct3D 11에서 호환되는 기본 섀도 볼륨 기술을 구현하는 방법에 익숙해지게 됩니다.
필수 조건
UWP(유니버설 Windows 플랫폼) DirectX 게임 개발을 위한 개발 환경을 준비해야 합니다. 템플릿은 아직 불필요하지만 이 연습에 대한 코드 샘플을 빌드하려면 Microsoft Visual Studio 2015가 필요합니다.
관련 항목
Direct3D
그림자 매핑 기술 문서
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기