Метод ID3D10Texture1D::Map (d3d10.h)
Получите указатель на данные, содержащиеся в подресурсе, и запретите GPU доступ к его подресурсам.
Синтаксис
HRESULT Map(
[in] UINT Subresource,
[in] D3D10_MAP MapType,
[in] UINT MapFlags,
[out] void **ppData
);
Параметры
[in] Subresource
Тип: UINT
Номер индекса подресурса. Дополнительные сведения см. в разделе D3D10CalcSubresource .
[in] MapType
Тип: D3D10_MAP
Указывает разрешения ЦП на чтение и запись для ресурса. Возможные значения см. в разделе D3D10_MAP.
[in] MapFlags
Тип: UINT
Флаг , указывающий, что должен делать ЦП, когда GPU занят. Этот флаг является необязательным.
[out] ppData
Тип: void**
Указатель на данные ресурса текстуры.
Возвращаемое значение
Тип: HRESULT
Если эта функция выполняется успешно, она возвращает S_OK. Другие ограничения и список значений ошибок, которые могут быть возвращены любым из методов Map , см. в разделе Примечания.
Комментарии
Сопоставление текстуры позволяет ЦП напрямую обращаться к базовым данным в подресурсе текстуры. Для успешного выполнения метода сопоставляемая текстура должна быть создана с соответствующими флагами (см. D3D10_CPU_ACCESS_FLAG), а указанное использование (см. D3D10_USAGE) должно быть либо D3D10_USAGE_DYNAMIC, либо D3D10_USAGE_STAGING.
Распространенные сбои методов Map указываются следующими возвращаемыми значениями:
Дополнительные сведения о предыдущих возвращаемых значениях см . в разделе DXGI_ERROR.
Карта имеет следующие ограничения:
- Один подресурс не может быть сопоставлен несколько раз; иными словами, не вызывайте map для уже сопоставленного подресурса.
- Любой вложенный ресурс, привязанный к конвейеру, должен быть разархивирован перед выполнением любой операции отрисовки (то есть до выполнения ID3D10Device::D raw).
FLOAT* pTexels = (FLOAT*)pData;
for( UINT col = 0; col < width; col++ )
{
pTexels[col*4 + 0]; // Alpha
pTexels[col*4 + 1]; // Blue
pTexels[col*4 + 2]; // Green
pTexels[col*4 + 3]; // Red
}
Различия между Direct3D 9 и Direct3D 10: Сопоставление в Direct3D 10 аналогично блокировке ресурсов в Direct3D 9. |
Требования
Целевая платформа | Windows |
Header | d3d10.h |
Библиотека | D3D10.lib |