다음을 통해 공유


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

GPU를 사용하여 원본 리소스의 전체 콘텐츠를 대상 리소스에 복사합니다.

구문

void CopyResource(
  [in] ID3D10Resource *pDstResource,
  [in] ID3D10Resource *pSrcResource
);

매개 변수

[in] pDstResource

형식: ID3D10Resource*

대상 리소스에 대한 포인터입니다( ID3D10Resource 참조).

[in] pSrcResource

형식: ID3D10Resource*

원본 리소스에 대한 포인터입니다( ID3D10Resource 참조).

반환 값

없음

설명

이 메서드는 GPU가 복사 작업을 수행하게 한다는 측면에서 비정상적입니다(CPU의 memcpy와 유사). 결과적으로 성능 향상을 위해 설계된 몇 가지 제한 사항이 있습니다. instance 원본 및 대상 리소스:

  • 다른 리소스여야 합니다.
  • 동일한 형식이어야 합니다.
  • 너비, 높이, 깊이 및 크기를 적절하게 포함하여 동일한 차원이 있어야 합니다.
  • 호환되는 형식이 있어야 합니다. 즉, 형식이 동일하거나 적어도 동일한 형식 그룹에서 와야 합니다. 예를 들어 이러한 두 형식이 모두 DXGI_FORMAT_R32G32B32_TYPELESS 그룹에 있으므로 DXGI_FORMAT_R32G32B32_FLOAT 텍스처를 DXGI_FORMAT_R32G32B32_UINT 텍스처에 복사할 수 있습니다. Direct3D 10.1부터 CopyResource는 몇 가지 형식 간에 복사할 수 있습니다. 자세한 내용은 Direct3D 10.1을 사용하여 형식 변환을 참조하세요.
  • 현재 매핑되지 않을 수 있습니다.
CopyResource 는 복사만 지원합니다. 스트레치, 색 키, 혼합 또는 형식 변환을 지원하지 않습니다. Direct3D 10.1부터 CopyResource는 몇 가지 형식 형식 간에 리소스 데이터를 재해석할 수 있습니다. 자세한 내용은 Direct3D 10.1을 사용하여 형식 변환을 참조하세요.

변경할 수 없고깊이 스텐실 리소스를 대상으로 사용할 수 없습니다. 다중 샘플링 기능을 사용하여 만든 리소스는 원본 또는 대상으로 사용할 수 없습니다.

메서드는 명령 버퍼 큐에 추가할 수 있는 비동기 호출입니다. 이렇게 하면 데이터를 복사할 때 발생할 수 있는 파이프라인 중단을 제거하려고 시도합니다. 자세한 내용은 성능 고려 사항을 참조하세요.

리소스의 데이터 일부만 복사해야 하는 애플리케이션은 대신 ID3D10Device::CopySubresourceRegion 을 사용해야 합니다.

Direct3D 10과 Direct3D 10.1 간의 차이점:

Direct3D 10.1을 사용하면 깊이 스텐실 리소스를 원본 또는 대상으로 사용할 수 있습니다. Direct3D 10.1을 사용하면 원본 및 대상 모두 다중 샘플링 수와 품질이 동일한 경우에만 다중 샘플링된 리소스를 원본 및 대상으로 사용할 수 있습니다. 원본과 대상이 다중 샘플링 수와 품질이 다르거나 그 중 하나가 다중 샘플링되고 다른 하나는 다중 샘플링되지 않은 경우 ID3D10Device::CopyResource 호출이 실패합니다.

사전 구조화된+형식의 리소스와 블록 압축 텍스처 간에 복사할 수 있습니다. Direct3D 10.1을 사용하여 형식 변환을 참조하세요.

요구 사항

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

추가 정보

ID3D10Device

ID3D10Resource 인터페이스