Поделиться через


структура D3D10_MAPPED_TEXTURE3D (d3d10.h)

Предоставляет доступ к данным подресурса в трехмерной текстуре.

Синтаксис

typedef struct D3D10_MAPPED_TEXTURE3D {
  void *pData;
  UINT RowPitch;
  UINT DepthPitch;
} D3D10_MAPPED_TEXTURE3D;

Члены

pData

Тип: void*

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

RowPitch

Тип: UINT

Шаг, ширина или физический размер (в байтах) одной строки несжатой текстуры. Так как текстура со сжатием блока закодирована в блоках 4x4, rowPitch для сжатой текстуры — это количество байтов в блоке 4x4 текселей. Дополнительные сведения о сжатии блоков см. в статье Виртуальный и физический размер .

DepthPitch

Тип: UINT

Шаг или количество байтов во всех строках для одной глубины.

Комментарии

Эта структура используется для доступа к данным подресурса при вызове ID3D10Texture3D::Map. Для доступа к данным необходимо привести указатель pData ; Пример см . в разделе D3D10_MAPPED_TEXTURE2D .

Чтобы проиллюстрировать шаг для несжатой текстуры, предположим трехмерную текстуру с уровнями MIP-карты, как показано на следующем рисунке.

Иллюстрация трехмерной текстуры с уровнями MIP-карты

Проще всего рассмотреть только текстуру верхнего уровня, как показано на следующем рисунке.

Иллюстрация только текстуры верхнего уровня

Затем визуализируйте текстуру верхнего уровня, перерисованную в виде серии двухd-текстур, каждая из которых имеет свое значение глубины. Это дает несколько плоскостей текстуры, как показано на следующем рисунке.

Иллюстрация текстуры верхнего уровня, нарисованная в виде двухD-плоскостей текстуры

Однако фактический макет всех элементов из всех плоскостей текстуры больше похож на следующий рисунок.

Иллюстрация шага строки и глубины в памяти

Используйте шаг строки для продвижения указателя между строками в пределах одной двухмерной плоскости текстуры; используйте шаг глубины для продвижения указателя между плоскостями двухмерной текстуры.

Требования

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

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

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