다음을 통해 공유


ID3D10Device::OMSetRenderTargets 메서드(d3d10.h)

하나 이상의 렌더링 대상과 깊이 스텐실 버퍼를 출력 병합기에 바인딩합니다.

구문

void OMSetRenderTargets(
  [in] UINT                   NumViews,
  [in] ID3D10RenderTargetView * const *ppRenderTargetViews,
  [in] ID3D10DepthStencilView *pDepthStencilView
);

매개 변수

[in] NumViews

형식: UINT

바인딩할 렌더링 대상의 수입니다.

[in] ppRenderTargetViews

형식: ID3D10RenderTargetView*

디바이스에 바인딩할 렌더링 대상 배열( ID3D10RenderTargetView 참조)에 대한 포인터입니다. 이 매개 변수가 NULL이면 렌더링 대상이 바인딩되지 않습니다. 설명 부분을 참조하세요.

[in] pDepthStencilView

형식: ID3D10DepthStencilView*

디바이스에 바인딩할 깊이 스텐실 보기( ID3D10DepthStencilView 참조)에 대한 포인터입니다. 이 매개 변수가 NULL이면 깊이 스텐실 상태가 바인딩되지 않습니다.

반환 값

없음

설명

OMSetRenderTargets에 대한 호출은 ppRenderTargetViews의 렌더링 대상 수에 관계없이 모든 바인딩된 렌더링 대상과 깊이 스텐실 대상을 재정의합니다.

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

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

메서드는 전달된 인터페이스에 대한 참조를 보유하지 않습니다. 이러한 이유로 애플리케이션은 디바이스에서 현재 사용 중인 인터페이스를 해제하지 않도록 주의해야 합니다.

바인딩 리소스에 대한 자세한 내용은 바인딩 리소스 및 파이프라인 단계를 참조하세요.

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

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

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

요구 사항

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

추가 정보

ID3D10Device 인터페이스