ID3D11DeviceContext::OMSetRenderTargets 메서드(d3d11.h)

하나 이상의 렌더링 대상을 원자성으로 바인딩하고 깊이 스텐실 버퍼를 출력 병합 단계에 바인딩합니다.

구문

void OMSetRenderTargets(
  [in]           UINT                   NumViews,
  [in, optional] ID3D11RenderTargetView * const *ppRenderTargetViews,
  [in, optional] ID3D11DepthStencilView *pDepthStencilView
);

매개 변수

[in] NumViews

형식: UINT

바인딩할 렌더링 대상의 수(0에서 D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT 사이의 범위). 이 매개 변수가 0이 아닌 경우 ppRenderTargetViews 지점이 있는 배열의 항목 수는 이 매개 변수의 수와 같아야 합니다.

[in, optional] ppRenderTargetViews

형식: ID3D11RenderTargetView*

디바이스에 바인딩할 렌더링 대상을 나타내는 ID3D11RenderTargetView 배열에 대한 포인터입니다. 이 매개 변수가 NULL 이고 NumViews 가 0이면 렌더링 대상이 바인딩되지 않습니다.

[in, optional] pDepthStencilView

형식: ID3D11DepthStencilView*

디바이스에 바인딩할 깊이 스텐실 보기를 나타내는 ID3D11DepthStencilView 에 대한 포인터입니다. 이 매개 변수가 NULL이면 깊이 스텐실 뷰가 바인딩되지 않습니다.

반환 값

없음

설명

지정된 시간에 디바이스가 활성화할 수 있는 활성 렌더링 대상의 최대 수는 D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT D3D11.h의 #define 의해 설정됩니다. 동일한 하위 리소스를 여러 렌더링 대상 슬롯으로 설정하려고 시도하는 것은 유효하지 않습니다. 이 호출에 의해 정의되지 않은 렌더링 대상은 NULL로 설정됩니다.

하위 리소스가 현재 다른 단계 또는 쓰기(파이프라인의 다른 부분에 있음)에서 읽기에 바인딩된 경우 동일한 하위 리소스가 단일 렌더링 작업에서 동시에 읽고 쓰여지는 것을 방지하기 위해 해당 바인딩 지점이 NULL로 설정됩니다.

메서드는 전달된 인터페이스에 대한 참조를 보유합니다. 이는 Direct3D 10의 디바이스 상태 동작과 다릅니다.

배열 리소스 형식에서 렌더링 대상 뷰를 만든 경우 모든 렌더링 대상 뷰의 배열 크기가 동일해야 합니다.
이 제한은 깊이 스텐실 보기에도 적용되며, 배열 크기는 바인딩되는 렌더링 대상 뷰와 일치해야 합니다.

픽셀 셰이더는 8개 이상의 개별 렌더링 대상으로 동시에 렌더링할 수 있어야 합니다. 이러한 모든 렌더링 대상은 버퍼, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D 또는 TextureCube와 같은 유형의 리소스에 액세스해야 합니다. 모든 렌더링 대상의 크기는 모든 차원(3D의 경우 너비, 높이, 깊이, *배열 유형의 경우 배열 크기)에서 동일해야 합니다. 렌더링 대상이 다중 샘플 앤티앨리어싱을 사용하는 경우 모든 바인딩된 렌더링 대상 및 깊이 버퍼는 동일한 형태의 다중 샘플 리소스여야 합니다(즉, 샘플 수는 동일해야 합니다). 각 렌더링 대상은 다른 데이터 형식을 가질 수 있습니다. 이러한 렌더링 대상 형식은 요소당 동일한 비트 수를 가질 필요가 없습니다.

렌더링 대상에 대한 8개의 슬롯 조합에는 렌더링 대상 집합이 있거나 설정되지 않을 수 있습니다.

동일한 리소스 뷰를 여러 렌더링 대상 슬롯에 동시에 바인딩할 수 없습니다. 그러나 단일 리소스의 겹치지 않는 여러 리소스 뷰를 동시에 여러 렌더링 대상으로 설정할 수 있습니다.

Direct3D의 다른 리소스 메서드와 달리 현재 바인딩된 모든 렌더링 대상은 를 호출 OMSetRenderTargets(0, nullptr, nullptr);하여 바인딩되지 않습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d11.h
라이브러리 D3D11.lib

추가 정보

ID3D11DeviceContext