다음을 통해 공유


IDirect3DDevice9::SetRenderTarget 메서드(d3d9helper.h)

디바이스에 대한 새 색 버퍼를 설정합니다.

구문

HRESULT SetRenderTarget(
  [in] DWORD             RenderTargetIndex,
  [in] IDirect3DSurface9 *pRenderTarget
);

매개 변수

[in] RenderTargetIndex

형식: DWORD

렌더링 대상의 인덱스입니다. 설명 부분을 참조하세요.

[in] pRenderTarget

형식: IDirect3DSurface9*

새 색 버퍼에 대한 포인터입니다. NULL이면 해당 RenderTargetIndex의 색 버퍼가 비활성화됩니다. 디바이스는 항상 색 버퍼와 연결되어야 합니다. 새 렌더링 대상 화면에는 적어도 D3DUSAGE_RENDERTARGET 지정되어 있어야 합니다.

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 D3D_OK. 이 메서드는 다음 중 하나일 경우 D3DERR_INVALIDCALL 반환합니다.

  • pRenderTarget = NULL 및 RenderTargetIndex = 0
  • pRenderTarget이 != NULL 이고 렌더링 대상이 잘못되었습니다.

설명

디바이스는 여러 렌더링 대상을 지원할 수 있습니다. 디바이스에서 지원하는 렌더링 대상의 수는 D3DCAPS9의 NumSimultaneousRTs 멤버에 포함되어 있습니다. 여러 렌더링 대상(Direct3D 9)을 참조하세요.

새 렌더링 대상을 설정하면 뷰포트( 뷰포트 및 클리핑(Direct3D 9 참조))가 새 렌더링 대상의 전체 크기로 설정됩니다.

일부 하드웨어는 깊이 스텐실 버퍼와 색 버퍼의 호환성을 테스트합니다. 이 작업이 완료되면 디버그 빌드에서만 수행됩니다.

이 메서드 사용에 대한 제한 사항은 다음과 같습니다.

  • 다중 샘플 형식은 렌더링 대상 및 깊이 스텐실 표면에 대해 동일해야 합니다.
  • 형식은 렌더링 대상 및 깊이 스텐실 표면과 호환되어야 합니다. IDirect3D9::CheckDepthStencilMatch를 참조하세요.
  • 깊이 스텐실 표면의 크기는 렌더링 대상의 크기보다 크거나 같아야 합니다.
이러한 제한 사항은 IDirect3DDevice9Draw 메서드가 호출될 때 디버그 런타임을 사용하는 경우에만 유효성을 검사합니다.

큐브 텍스처는 표면의 컬렉션이라는 점에서 다른 표면과 다릅니다. 큐브 텍스처로 IDirect3DDevice9::SetRenderTarget 을 호출하려면 IDirect3DCubeTexture9::GetCubeMapSurface 를 사용하여 개별 얼굴을 선택하고 결과 표면을 IDirect3DDevice9::SetRenderTarget에 전달해야 합니다.

요구 사항

   
대상 플랫폼 Windows
헤더 d3d9helper.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

IDirect3DDevice9