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를 참조하세요.
- 깊이 스텐실 표면의 크기는 렌더링 대상의 크기보다 크거나 같아야 합니다.
큐브 텍스처는 표면의 컬렉션이라는 점에서 다른 표면과 다릅니다. 큐브 텍스처로 IDirect3DDevice9::SetRenderTarget 을 호출하려면 IDirect3DCubeTexture9::GetCubeMapSurface 를 사용하여 개별 얼굴을 선택하고 결과 표면을 IDirect3DDevice9::SetRenderTarget에 전달해야 합니다.
요구 사항
대상 플랫폼 | Windows |
헤더 | d3d9helper.h(D3D9.h 포함) |
라이브러리 | D3D9.lib |