перечисление D3DTEXTURESTAGESTATETYPE

Состояния стадии текстуры определяют операции текстуры с несколькими смешиваниями. Некоторые состояния выборки настраивают обработку вершин и некоторые настраивают обработку пикселей. Состояния стадии текстуры можно сохранить и восстановить с помощью блоков состояния (см. раздел "Сохранение и восстановление состояния" (Direct3D 9).

Синтаксис

typedef enum D3DTEXTURESTAGESTATETYPE { 
  D3DTSS_COLOROP                = 1,
  D3DTSS_COLORARG1              = 2,
  D3DTSS_COLORARG2              = 3,
  D3DTSS_ALPHAOP                = 4,
  D3DTSS_ALPHAARG1              = 5,
  D3DTSS_ALPHAARG2              = 6,
  D3DTSS_BUMPENVMAT00           = 7,
  D3DTSS_BUMPENVMAT01           = 8,
  D3DTSS_BUMPENVMAT10           = 9,
  D3DTSS_BUMPENVMAT11           = 10,
  D3DTSS_TEXCOORDINDEX          = 11,
  D3DTSS_BUMPENVLSCALE          = 22,
  D3DTSS_BUMPENVLOFFSET         = 23,
  D3DTSS_TEXTURETRANSFORMFLAGS  = 24,
  D3DTSS_COLORARG0              = 26,
  D3DTSS_ALPHAARG0              = 27,
  D3DTSS_RESULTARG              = 28,
  D3DTSS_CONSTANT               = 32,
  D3DTSS_FORCE_DWORD            = 0x7fffffff
} D3DTEXTURESTAGESTATETYPE, *LPD3DTEXTURESTAGESTATETYPE;

Константы

D3DTSS_COLOROP

Состояние стадии текстуры — это операция смешения цветов текстур, определяемая одним элементом перечисленного типа D3DTEXTUREOP . Значение по умолчанию для первого этапа текстуры (этап 0) — D3DTOP_MODULATE; для всех остальных этапов значение по умолчанию — D3DTOP_DISABLE.

D3DTSS_COLORARG1

Состояние стадии текстуры является первым аргументом цвета для этапа, определяемым одним из D3DTA. Аргумент по умолчанию — D3DTA_TEXTURE.

Укажите D3DTA_TEMP, чтобы выбрать временный цвет регистра для чтения или записи. D3DTA_TEMP поддерживается, если D3DPMISCCAPS_TSSARGTEMP возможности устройства присутствуют. Значением по умолчанию для регистра является (0.0, 0.0, 0.0, 0.0).

D3DTSS_COLORARG2

Состояние стадии текстуры — это второй аргумент цвета для этапа, определенный D3DTA. Аргумент по умолчанию — D3DTA_CURRENT. Укажите D3DTA_TEMP, чтобы выбрать временный цвет регистра для чтения или записи. D3DTA_TEMP поддерживается, если D3DPMISCCAPS_TSSARGTEMP возможности устройства присутствуют. Значением по умолчанию для регистра является (0.0, 0.0, 0.0, 0.0)

D3DTSS_ALPHAOP

Состояние стадии текстуры — это операция альфа-смешивания текстур, определяемая одним элементом перечисленного типа D3DTEXTUREOP . Значение по умолчанию для первого этапа текстуры (этап 0) D3DTOP_SELECTARG1, а для всех остальных этапов значение по умолчанию — D3DTOP_DISABLE.

D3DTSS_ALPHAARG1

Состояние стадии текстуры является первым альфа-аргументом для этапа, определяемым D3DTA. Аргумент по умолчанию — D3DTA_TEXTURE. Если текстура не задана для этого этапа, аргумент по умолчанию D3DTA_DIFFUSE. Укажите D3DTA_TEMP, чтобы выбрать временный цвет регистра для чтения или записи. D3DTA_TEMP поддерживается, если D3DPMISCCAPS_TSSARGTEMP возможности устройства присутствуют. Значением по умолчанию для регистра является (0.0, 0.0, 0.0, 0.0).

D3DTSS_ALPHAARG2

Состояние стадии текстуры — это второй альфа-аргумент для этапа, определенный D3DTA. Аргумент по умолчанию — D3DTA_CURRENT. Укажите D3DTA_TEMP, чтобы выбрать временный цвет регистра для чтения или записи. D3DTA_TEMP поддерживается, если D3DPMISCCAPS_TSSARGTEMP возможности устройства присутствуют. Значением по умолчанию для регистра является (0.0, 0.0, 0.0, 0.0).

D3DTSS_BUMPENVMAT00

Состояние стадии текстуры — это значение с плавающей запятой для коэффициента [0][0] в матрице сопоставления бамперов. Значение по умолчанию — 0,0.

D3DTSS_BUMPENVMAT01

Состояние стадии текстуры — это значение с плавающей запятой для коэффициента [0][1] в матрице сопоставления бамперов. Значение по умолчанию — 0,0.

D3DTSS_BUMPENVMAT10

Состояние стадии текстуры — это значение с плавающей запятой для коэффициента [1][0] в матрице сопоставления бамперов. Значение по умолчанию — 0,0.

D3DTSS_BUMPENVMAT11

Состояние стадии текстуры — это значение с плавающей запятой для коэффициента [1][1] в матрице сопоставления бамперов. Значение по умолчанию — 0,0.

D3DTSS_TEXCOORDINDEX

Индекс координат текстуры, используемый с этим этапом текстуры. Вы можете указать до восьми наборов координат текстур на вершину. Если вершина не включает набор координат текстур по указанному индексу, система по умолчанию использует координаты you и v (0,0).

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

Кроме того, приложения могут включать в себя как логический ИЛИ с заданным индексом, одну из констант для запроса, что Direct3D автоматически создает координаты входной текстуры для преобразования текстуры. Список всех констант см . в D3DTSS_TCI.

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

D3DTSS_BUMPENVLSCALE

Значение масштабирования с плавающей запятой для яркости карты удара. Значение по умолчанию — 0,0.

D3DTSS_BUMPENVLOFFSET

Значение смещения с плавающей запятой для яркости карты удара. Значение по умолчанию — 0,0.

D3DTSS_TEXTURETRANSFORMFLAGS

Элемент перечисленного типа D3DTEXTURETRANSFORMFLAGS, который управляет преобразованием координат текстуры для данного этапа текстуры. Значение по умолчанию — D3DTTFF_DISABLE.

D3DTSS_COLORARG0

Параметры для третьего цветового операнда для операций триадики (умножение, добавление и линейная интерполяция), определяемых по D3DTA. Этот параметр поддерживается, если существуют D3DTEXOPCAPS_MULTIPLYADD или D3DTEXOPCAPS_LERP возможности устройства. Аргумент по умолчанию — D3DTA_CURRENT. Укажите D3DTA_TEMP, чтобы выбрать временный цвет регистра для чтения или записи. D3DTA_TEMP поддерживается, если D3DPMISCCAPS_TSSARGTEMP возможности устройства присутствуют. Значением по умолчанию для регистра является (0.0, 0.0, 0.0, 0.0).

D3DTSS_ALPHAARG0

Параметры для операнда селектора альфа-канала для операций с триадиками (умножение, добавление и линейная интерполяция), определяемых по D3DTA. Этот параметр поддерживается, если существуют D3DTEXOPCAPS_MULTIPLYADD или D3DTEXOPCAPS_LERP возможности устройства. Аргумент по умолчанию — D3DTA_CURRENT. Укажите D3DTA_TEMP, чтобы выбрать временный цвет регистра для чтения или записи. D3DTA_TEMP поддерживается, если D3DPMISCCAPS_TSSARGTEMP возможности устройства присутствуют. Аргумент по умолчанию — (0.0, 0.0, 0.0, 0.0).

D3DTSS_RESULTARG

Параметр выбора целевого регистра для результата этого этапа, определяемого D3DTA. Это значение может быть задано как D3DTA_CURRENT (значение по умолчанию) или D3DTA_TEMP, что является одним временным регистром, который можно считывать на последующих этапах в качестве входного аргумента. Последний цвет, передаваемый в туманный смешиватель и буфер кадра, берется из D3DTA_CURRENT, поэтому последнее активное состояние стадии текстуры должно быть задано для записи в текущий. Этот параметр поддерживается, если D3DPMISCCAPS_TSSARGTEMP возможности устройства присутствуют.

D3DTSS_CONSTANT

Цвет константы на каждом этапе. Чтобы узнать, поддерживает ли устройство цвет константы на каждом этапе, см. D3DPMISCCAPS_PERSTAGECONSTANT константы в D3DPMISCCAPS. D3DTSS_CONSTANT используется D3DTA_CONSTANT. См . раздел D3DTA.

D3DTSS_FORCE_DWORD

Заставляет это перечисление скомпилировать до 32 битов. Без этого значения некоторые компиляторы позволяют этому перечислению компилироваться в размер, отличный от 32 битов. Это значение не используется.

Замечания

Элементы перечисленного типа используются с методами IDirect3DDevice9::GetTextureStageState и IDirect3DDevice9::SetTextureStageState для получения и задания значений состояния текстуры.

Допустимый диапазон значений для D3DTSS_BUMPENVMAT00, D3DTSS_BUMPENVMAT01, D3DTSS_BUMPENVMAT10 и D3DTSS_BUMPENVMAT11 коэффициенты матрицы сопоставления ударов больше или равно -8,0 и меньше 8,0. Этот диапазон, выраженный в математической нотации , имеет значение -8.0,8.0.

Требования

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

См. также

Перечисления Direct3D

IDirect3Device9::GetTextureStageState

IDirect3Device9::SetTextureStageState