다음을 통해 공유


IDirect3DDevice9::UpdateSurface 메서드(d3d9.h)

한 표면에서 다른 표면으로 픽셀의 사각형 하위 집합을 복사합니다.

구문

HRESULT UpdateSurface(
  [in] IDirect3DSurface9 *pSourceSurface,
  [in] const RECT        *pSourceRect,
  [in] IDirect3DSurface9 *pDestinationSurface,
  [in] const POINT       *pDestPoint
);

매개 변수

[in] pSourceSurface

형식: IDirect3DSurface9*

원본 표면을 나타내는 IDirect3DSurface9 인터페이스에 대한 포인터입니다. 이 매개 변수는 pDestinationSurface와 다른 표면을 가리킵니다.

[in] pSourceRect

형식: const RECT*

원본 표면의 사각형에 대한 포인터입니다. 이 매개 변수에 NULL 을 지정하면 전체 표면이 복사됩니다.

[in] pDestinationSurface

형식: IDirect3DSurface9*

대상 표면을 나타내는 IDirect3DSurface9 인터페이스에 대한 포인터입니다.

[in] pDestPoint

형식: const POINT*

대상 사각형의 왼쪽 위 모서리에 대한 포인터입니다. 이 매개 변수에 NULL 을 지정하면 전체 표면이 복사됩니다.

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값은 D3DERR_INVALIDCALL 중 하나일 수 있습니다.

설명

이 메서드는 DirectX 8의 CopyRects와 비슷합니다.

이 함수에는 다음과 같은 제한이 있습니다.

  • 원본 표면은 D3DPOOL_SYSTEMMEM 사용하여 만들어졌어야 합니다.
  • 대상 표면은 D3DPOOL_DEFAULT 사용하여 만들어졌어야 합니다.
  • 두 표면 모두 잠겨 있거나 뛰어난 디바이스 컨텍스트를 보유할 수 없습니다.
  • 두 표면 모두 다중 샘플링으로 만들 수 있습니다. 두 표면 모두에 유효한 플래그는 D3DMULTISAMPLE_NONE.
  • 표면 형식은 깊이 스텐실 형식일 수 없습니다.
  • 원본 및 dest 사각형은 표면에 맞아야 합니다.
  • 늘어나거나 축소할 수 없습니다(사각형의 크기는 같아야 합니다).
  • 원본 형식은 dest 형식과 일치해야 합니다.
다음 표에서는 지원되는 조합을 보여 줍니다.
Dest 형식
질감 RT 텍스처 RT 오프 스크린 플레인
Src 형식 질감 Yes 예*
RT 텍스처 아니요 No
RT 아니요 No
오프 스크린 플레인 Yes Yes Yes Yes
 
  • 드라이버가 요청된 복사본을 지원하지 않는 경우 잠금 및 복사를 사용하여 에뮬레이트됩니다.

애플리케이션이 D3DPOOL_DEFAULT 렌더링 대상에서 D3DPOOL_SYSTEMMEM 화면으로 데이터를 복사해야 하는 경우 GetRenderTargetData를 사용할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d9.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

IDirect3DDevice9