Skip to main content
뷰 인스턴싱 구성 중에 사용되는 매개 변수를 지정합니다.

구문

멤버

ViewInstanceCount
형식: UINT
D3D12_MAX_VIEW_INSTANCE_COUNT까지 사용할 뷰의 개수를 지정합니다. pViewInstanceLocations
형식: const D3D12_VIEW_INSTANCE_LOCATION *
각 뷰 인스턴스의 뷰포트/시저 및 렌더 타깃 세부 정보의 위치를 지정하는 ViewInstanceCount개의 뷰 인스턴스 위치 구조체가 포함된 메모리 위치의 주소입니다. Flags
형식: D3D12_VIEW_INSTANCING_FLAGS
추가 옵션으로 뷰 인스턴싱을 구성합니다.

설명

이 구조체를 사용하여 PSO에서 뷰 인스턴싱을 선언합니다. 뷰의 개수를 기반으로 전체 파이프라인 최적화를 허용하기 위해 뷰 인스턴스 개수는 PSO에서 설정됩니다. 뷰 인스턴싱은 PSO에서 선언되지 않았거나 ViewInstanceCount가 0으로 설정된 경우 사용하지 않도록 설정됩니다. 사용하지 않도록 설정된 경우, 렌더링은 뷰 인스턴싱이 활성화되고 ViewInstanceCount가 1로 설정된 것처럼 동작합니다. 셰이더는 SV_ViewID에서 0의 값만 보고 하나의 뷰 인스턴스만 생성됩니다. 이를 통해 뷰 인스턴싱을 인식하는 셰이더가 여전히 뷰 인스턴싱을 사용하지 않도록 하는 PSO에서 사용될 수 있습니다. 일부 어댑터는 셰이더 모델 6.1(SV_ViewID를 노출함)을 지원할 수 있지만 뷰 인스턴싱은 지원하지 않을 수 있습니다. 이러한 어댑터는 ViewInstanceCount가 0 또는 1로 선언된 PSO에서 SV_ViewID를 입력하는 셰이더를 여전히 지원해야 합니다. 래스터화 이전의 셰이더는 SV_ViewID에 의존하지 않아도 되는 SV_RenderTargetArrayIndex 및 SV_ViewportArrayIndex 값을 출력할 수 있습니다. 프리미티브를 보낼 뷰포트 및 렌더 타깃의 최종 유효 인덱스를 계산하려면 이러한 값이 있을 경우 PSO에 선언된 뷰 인스턴스 위치의 ViewportArrayIndex 및 RenderTargetArrayIndex 값에 더해집니다. 계산된 인덱스가 범위를 벗어나면(즉, 인덱스가 해당 배열의 뷰포트나 렌더 타깃 요소 수보다 크면) 유효 인덱스는 0이 됩니다. 뷰포트나 렌더 타깃 인덱스를 동적으로 선택하는 셰이더의 경우, 애플리케이션은 PSO에 선언된 모든 뷰 인스턴스 위치를 단일 값(예: 0)으로 설정하여 동적으로 선택된 SV_RenderTargetArrayIndex 및 SV_ViewportArrayIndex 값이 더해지는 균일한 기본 인덱스로 사용할 수 있습니다.

요구 사항

헤더: d3d12_xs.h 또는 d3d12_x.h
라이브러리: d3d12_xs.lib 또는 d3d12_x.lib
지원 플랫폼: XBOX Series 콘솔 및 XBOX One 제품군

함께 보기

핵심 구조체
마지막 수정일 2026년 8월 24일