Метод ID3D11Device3::WriteToSubresource (d3d11_3.h)
Копирует данные в текстуру D3D11_USAGE_DEFAULT , сопоставленную с помощью ID3D11DeviceContext3::Map , предоставляя параметр NULL D3D11_MAPPED_SUBRESOURCE .
Синтаксис
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
Отсчитываемый от нуля индекс, определяющий целевой подресурс. Дополнительные сведения см. в разделе D3D11CalcSubresource.
[in, optional] pDstBox
Тип: const D3D11_BOX*
Указатель на поле, определяющее часть целевого подресурса для копирования данных ресурса. Если значение РАВНО NULL, данные записываются в целевой подресурс без смещения. Размеры источника должны соответствовать назначению (см . D3D11_BOX).
Пустое поле приводит к тому, что операция не будет. Поле пусто, если верхнее или равно нижнему значению, или левое значение больше или равно правому значению, или значение переднего края больше или равно обратному значению. Если поле пусто, этот метод не выполняет никаких операций.
[in] pSrcData
Тип: const void*
Указатель на исходные данные в памяти.
[in] SrcRowPitch
Тип: UINT
Размер одной строки исходных данных.
[in] SrcDepthPitch
Тип: UINT
Размер одного среза глубины исходных данных.
Возвращаемое значение
None
Remarks
Предоставленный ресурс должен быть текстурой D3D11_USAGE_DEFAULT , которая была сопоставлена для записи при предыдущем вызове ID3D11DeviceContext3::Map при предоставлении параметра NULL D3D11_MAPPED_SUBRESOURCE .
Этот API предназначен для вызовов с высокой частотой. Вызывающие абоненты могут сократить объем памяти, выполняя итеративные вызовы, которые обновляют прогрессивные области текстуры, при этом обеспечивая небольшой буфер во время каждого вызова. Однако наиболее эффективно указывать достаточно большие области, так как это позволяет D3D заполнять целые строки кэша в текстуре перед возвратом.
Для повышения эффективности убедитесь, что границы и выравнивание экстентов в поле равны ( 64 / [байт на пиксель] ) пикселям по горизонтали. Вертикальные границы и выравнивание должны быть 2 строки, за исключением случаев, когда используются форматы 1 байт на пиксель. В этом случае рекомендуется использовать 4 строки. Отдельные срезы глубины для каждого вызова обрабатываются эффективно. Рекомендуется, но необязательно указывать указатели и шаги, которые выровнены по 128 байтам.
При записи на вложенные уровни MIP-карты рекомендуется использовать большую ширину и высоту, чем описано выше. Это связано с тем, что небольшие уровни MIP-карты на самом деле могут храниться в большом блоке памяти с непрозрачным объемом смещения, что может помешать выравниванию строк кэша.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d11_3.h |
Библиотека | D3D11.lib |