перечисление 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.
Требования
Требование | Значение |
---|---|
Заголовок |
|
См. также