구문
매개 변수
Mask [in]형식: UINT 어떤 뷰가 활성화 또는 비활성화되는지를 지정하는 마스크입니다. 최하위 비트부터 시작하여 비트 i가 설정되면 뷰 인스턴스 i가 활성화됩니다.
반환 값
형식: void 없음.설명
뷰 인스턴스 마스크는 생성 시 D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING 플래그를 지정하여 뷰 인스턴스 마스킹을 선언한 PSO에만 영향을 줍니다. 뷰 인스턴싱을 지원하지 않는 어댑터에서 뷰 인스턴스 마스킹을 선언한 PSO를 만들려고 시도하면 실패합니다. 뷰 인스턴스 마스크의 기본값은 0이며, 모든 뷰를 비활성화합니다. 이는 뷰 인스턴스 마스킹을 선언한 애플리케이션이 활성화할 뷰를 명시적으로 선택하도록 강제하며, 그렇지 않으면 아무 것도 렌더링되지 않습니다. 뷰 인스턴스 마스크가 기본적으로 모든 뷰를 활성화했다면, 애플리케이션은 사용되지 않는 뷰를 비활성화하는 것을 잊을 수 있으며, 이는 낭비된 작업으로 인해 성능 손실을 초래할 수 있습니다. 번들은 호출자에게서 뷰 인스턴스 마스크를 상속받지 않으며 대신 기본값 0으로 설정됩니다. 이는 구현이 그리기를 기록하는 방식에 영향을 주는 경우 번들이 기록될 때 마스크 설정을 알아야 하기 때문입니다. 그러나 번들에서 설정한 뷰 인스턴스 마스크는 번들 완료 후에도 호출자에게 유지됩니다. 이러한 상속 의미는 PSO의 것과 유사합니다. 마스킹되어 있는 뷰 인스턴스에 대해서는 어떤 셰이더 단계에서도 SV_ViewID에 의존하는 셰이더 코드 경로가 실행되지 않으며, 클리핑, 뷰포트 처리 또는 래스터화도 수행되지 않습니다. 렌더링 중 마스크를 검사하는 구현은 뷰 인스턴스 마스킹을 전혀 선언하지 않는 PSO에 비해 약간의 성능 저하를 초래할 수 있지만, 일반적으로 마스킹된 뷰와 관련된 작업을 건너뛰어 얻는 성능 절약으로 저하를 극복할 수 있습니다. 건너뛴 작업의 빈도와 양에 따라 성능 향상이 상당할 수 있습니다.요구 사항
헤더: d3d12_xs.h 또는 d3d12_x.h라이브러리: d3d12_xs.lib 또는 d3d12_x.lib
지원 플랫폼: XBOX Series 콘솔 및 XBOX One 제품군
