структура D3D11_SUBRESOURCE_DATA (d3d11.h)

Указывает данные для инициализации подресурса.

Синтаксис

typedef struct D3D11_SUBRESOURCE_DATA {
  const void *pSysMem;
  UINT       SysMemPitch;
  UINT       SysMemSlicePitch;
} D3D11_SUBRESOURCE_DATA;

Члены

pSysMem

Тип: const void*

Указатель на данные инициализации.

SysMemPitch

Тип: UINT

Расстояние (в байтах) от начала одной строки текстуры до следующей строки.
Шаг системной памяти используется только для двух- и трехмерных данных текстур, так как он не имеет смысла для других типов ресурсов. Укажите расстояние от первого пикселя одного двухмерного среза трехмерной текстуры до первого пикселя следующего двухмерного среза в этой текстуре в элементе SysMemSlicePitch .

SysMemSlicePitch

Тип: UINT

Расстояние (в байтах) от начала одного уровня глубины до следующего.
Шаг среза системной памяти используется только для данных трехмерной текстуры, так как он не имеет смысла для других типов ресурсов.

Комментарии

Эта структура используется в вызовах для создания буферов (ID3D11Device::CreateBuffer) и текстур (ID3D11Device::CreateTexture1D, ID3D11Device::CreateTexture2D и ID3D11Device::CreateTexture3D). Если для создаваемого ресурса не требуется шаг системной памяти или шаг среза системной памяти, эти элементы можно использовать для передачи сведений о размере, что может помочь при отладке проблемы с созданием ресурса.

Подресурс — это одна поверхность уровня MIP. Для создания ресурса можно передать массив подресурсов в один из предыдущих методов. Подресурс может быть 1D, 2D или 3D. Настройка элементов D3D11_SUBRESOURCE_DATA зависит от того, является ли подресурс 1D, 2D или 3D.

Значения x, y и d основаны на индексах 0, а BytesPerPixel зависит от формата пикселей. Для трехмерных поверхностей mipmapped количество срезов глубины на каждом уровне составляет половину числа предыдущего уровня (минимум 1) и округляется вниз, если деление на два приводит к нецеле.

Примечание Приложение не должно полагаться на то, что SysMemPitch точно равно количеству текселей в строке, равному размеру текселя. В некоторых случаях SysMemPitch включает заполнение для пропуска дополнительных данных в строке. Это может быть заполнение для выравнивания или текстура может быть подразделом более крупной текстуры. Например, структура D3D11_SUBRESOURCE_DATA может представлять подраздел 32 на 32 текстуры 128 на 128. Значение SysMemSlicePitch будет отражать все заполнения, включенные в SysMemPitch.
 

Требования

Требование Значение
Заголовок d3d11.h

См. также раздел

Структуры ресурсов