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


Операции и аргументы наложения текстур (Direct3D 9)

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

Direct3D применяет сведения из каждой текстуры в наборе текущих текстур к связанному с ней этапу смешивания. Приложения управляют информацией из этапа текстуры, вызывая метод IDirect3DDevice9::SetTextureStageState. Можно задать отдельные операции для цветных и альфа-каналов, и каждая операция использует два аргумента. Укажите операции цветовых каналов с помощью состояния этапа D3DTSS_COLOROP; укажите альфа-операции с помощью D3DTSS_ALPHAOP. Оба состояния стадии используют значения перечисленного типа D3DTEXTUREOP .

Аргументы смешивания текстур используют элементы D3DTSS_COLORARG1, D3DTSS_COLORARG2, D3DTSS_ALPHARG1 и D3DTSS_ALPHARG2 перечисленного типа D3DTEXTURESTAGESTATETYPE . Соответствующие значения аргументов определяются с помощью D3DTA.

Примечание

Вы можете отключить этап текстуры и все последующие этапы наложения текстуры в каскаде, задав для этой стадии операцию цвета D3DTOP_DISABLE. Отключение операции цвета фактически отключает и альфа-операцию. Альфа-операции нельзя отключить, если включены цветовые операции. Если для альфа-операции задано значение D3DTOP_DISABLE при включенном наложении цветов, поведение не определено.

 

Чтобы определить поддерживаемые операции смешения текстур на устройстве, запросите элемент TextureCaps структуры D3DCAPS9 .

Наложение текстур