ID3D11Device3::WriteToSubresource 메서드(d3d11_3.h)
NULL D3D11_MAPPED_SUBRESOURCE 매개 변수를 제공하면서 ID3D11DeviceContext3::Map 을 사용하여 매핑된 D3D11_USAGE_DEFAULT 텍스처에 데이터를 복사합니다.
구문
void WriteToSubresource(
[in] ID3D11Resource *pDstResource,
[in] UINT DstSubresource,
[in, optional] const D3D11_BOX *pDstBox,
[in] const void *pSrcData,
[in] UINT SrcRowPitch,
[in] UINT SrcDepthPitch
);
매개 변수
[in] pDstResource
형식: ID3D11Resource*
대상 리소스( ID3D11Resource)에 대한 포인터입니다.
[in] DstSubresource
형식: UINT
대상 하위 리소스를 식별하는 인덱스(0부터 시작)입니다. 자세한 내용은 D3D11CalcSubresource를 참조하세요.
[in, optional] pDstBox
형식: const D3D11_BOX*
리소스 데이터를 복사할 대상 하위 리소스의 부분을 정의하는 상자에 대한 포인터입니다. NULL인 경우 데이터는 오프셋 없이 대상 하위 리소스에 기록됩니다. 원본의 차원이 대상에 맞아야 합니다( D3D11_BOX 참조).
빈 상자는 no-op을 생성합니다. 위쪽 값이 아래쪽 값보다 크거나 같거나 왼쪽 값이 오른쪽 값보다 크거나 같거나 앞 값이 뒤 값보다 크거나 같으면 상자가 비어 있습니다. 상자가 비어 있으면 이 메서드는 작업을 수행하지 않습니다.
[in] pSrcData
형식: const void*
메모리의 원본 데이터에 대한 포인터입니다.
[in] SrcRowPitch
형식: UINT
원본 데이터의 한 행 크기입니다.
[in] SrcDepthPitch
형식: UINT
원본 데이터의 깊이 조각 1개 크기입니다.
반환 값
없음
설명
제공된 리소스는 NULL D3D11_MAPPED_SUBRESOURCE 매개 변수를 제공하면서 ID3D11DeviceContext3::Map 에 대한 이전 호출에 의해 쓰기 위해 매핑된 D3D11_USAGE_DEFAULT 텍스처여야 합니다.
이 API는 높은 빈도로 호출하기 위한 것입니다. 호출자는 텍스처의 점진적 영역을 업데이트하는 반복 호출을 수행하는 동시에 각 호출 중에 작은 버퍼를 제공하여 메모리를 줄일 수 있습니다. 그러나 D3D를 사용하면 반환하기 전에 텍스처의 전체 캐시 라인을 채울 수 있으므로 충분히 큰 지역을 지정하는 것이 가장 효율적입니다.
효율성을 위해 상자 내의 익스텐트의 범위와 맞춤이 가로로 ( 64/[픽셀당 바이트] ) 픽셀인지 확인합니다. 세로 범위와 맞춤은 픽셀당 1비트 형식을 사용하는 경우를 제외하고 2개 행이어야 하며, 이 경우 4개의 행이 권장됩니다. 호출당 단일 깊이 조각이 효율적으로 처리됩니다. 권장되지만 128 바이트 정렬된 포인터 및 보폭을 제공할 필요는 없습니다.
하위 Mipmap 수준에 쓸 때 위에서 설명한 것보다 더 큰 너비와 높이를 사용하는 것이 좋습니다. 이는 작은 Mipmap 수준이 실제로 캐시 라인 정렬을 방해할 수 있는 불투명한 양의 오프셋과 함께 더 큰 메모리 블록 내에 저장될 수 있기 때문입니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d11_3.h |
라이브러리 | D3D11.lib |