Share via


ID3D11Device3::ReadFromSubresource 메서드(d3d11_3.h)

NULL D3D11_MAPPED_SUBRESOURCE 매개 변수를 제공하면서 ID3D11DeviceContext3::Map 을 사용하여 매핑된 D3D11_USAGE_DEFAULT 텍스처에서 데이터를 복사합니다.

구문

void ReadFromSubresource(
  [out]          void            *pDstData,
  [in]           UINT            DstRowPitch,
  [in]           UINT            DstDepthPitch,
  [in]           ID3D11Resource  *pSrcResource,
  [in]           UINT            SrcSubresource,
  [in, optional] const D3D11_BOX *pSrcBox
);

매개 변수

[out] pDstData

형식: void*

메모리의 대상 데이터에 대한 포인터입니다.

[in] DstRowPitch

형식: UINT

대상 데이터의 한 행 크기입니다.

[in] DstDepthPitch

형식: UINT

대상 데이터의 깊이 조각 1개 크기입니다.

[in] pSrcResource

형식: ID3D11Resource*

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

[in] SrcSubresource

형식: UINT

대상 하위 리소스를 식별하는 인덱스(0부터 시작)입니다. 자세한 내용은 D3D11CalcSubresource를 참조하세요.

[in, optional] pSrcBox

형식: const D3D11_BOX*

리소스 데이터를 복사할 대상 하위 리소스의 부분을 정의하는 상자에 대한 포인터입니다. NULL이면 오프셋 없이 대상 하위 리소스에서 데이터를 읽습니다. 대상의 차원이 대상에 맞아야 합니다( D3D11_BOX 참조).

빈 상자는 no-op을 생성합니다. 위쪽 값이 아래쪽 값보다 크거나 같거나 왼쪽 값이 오른쪽 값보다 크거나 같거나 앞 값이 뒤 값보다 크거나 같으면 상자가 비어 있습니다. 상자가 비어 있으면 이 메서드는 작업을 수행하지 않습니다.

반환 값

없음

설명

제공된 리소스는 NULL D3D11_MAPPED_SUBRESOURCE 매개 변수를 제공하면서 ID3D11DeviceContext3::Map 에 대한 이전 호출에 의해 쓰기 위해 매핑된 D3D11_USAGE_DEFAULT 텍스처여야 합니다.

이 API는 높은 빈도로 호출하기 위한 것입니다. 호출자는 텍스처의 점진적 영역을 업데이트하는 반복 호출을 수행하는 동시에 각 호출 중에 작은 버퍼를 제공하여 메모리를 줄일 수 있습니다. 그러나 D3D를 사용하면 반환하기 전에 텍스처의 전체 캐시 라인을 채울 수 있으므로 충분히 큰 지역을 지정하는 것이 가장 효율적입니다.

효율성을 위해 상자 내의 익스텐트의 범위와 맞춤이 가로로 ( 64/[픽셀당 바이트] ) 픽셀인지 확인합니다. 세로 범위와 맞춤은 픽셀당 1비트 형식을 사용하는 경우를 제외하고 2개 행이어야 하며, 이 경우 4개의 행이 권장됩니다. 호출당 단일 깊이 조각이 효율적으로 처리됩니다. 권장되지만 128 바이트 정렬된 포인터 및 보폭을 제공할 필요는 없습니다.

하위 Mipmap 수준에서 읽을 때 위에서 설명한 것보다 더 큰 너비와 높이를 사용하는 것이 좋습니다. 이는 작은 Mipmap 수준이 실제로 캐시 라인 정렬을 방해할 수 있는 불투명한 양의 오프셋과 함께 더 큰 메모리 블록 내에 저장될 수 있기 때문입니다.

요구 사항

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

추가 정보

ID3D11Device3