Перечисление D3DBLEND
Определяет поддерживаемый режим наложения.
Синтаксис
typedef enum D3DBLEND {
D3DBLEND_ZERO = 1,
D3DBLEND_ONE = 2,
D3DBLEND_SRCCOLOR = 3,
D3DBLEND_INVSRCCOLOR = 4,
D3DBLEND_SRCALPHA = 5,
D3DBLEND_INVSRCALPHA = 6,
D3DBLEND_DESTALPHA = 7,
D3DBLEND_INVDESTALPHA = 8,
D3DBLEND_DESTCOLOR = 9,
D3DBLEND_INVDESTCOLOR = 10,
D3DBLEND_SRCALPHASAT = 11,
D3DBLEND_BOTHSRCALPHA = 12,
D3DBLEND_BOTHINVSRCALPHA = 13,
D3DBLEND_BLENDFACTOR = 14,
D3DBLEND_INVBLENDFACTOR = 15,
D3DBLEND_SRCCOLOR2 = 16,
D3DBLEND_INVSRCCOLOR2 = 17,
D3DBLEND_FORCE_DWORD = 0x7fffffff
} D3DBLEND, *LPD3DBLEND;
Константы
-
D3DBLEND_ZERO
-
Коэффициент смешения — (0, 0, 0, 0).
-
D3DBLEND_ONE
-
Коэффициент смешения — (1, 1, 1, 1).
-
D3DBLEND_SRCCOLOR
-
Коэффициент Blend имеет значение (Rs, Gs, Bs, As).
-
D3DBLEND_INVSRCCOLOR
-
Коэффициент смешения равен (1 - Rs, 1 - Gs, 1 - Bs, 1 - As).
-
D3DBLEND_SRCALPHA
-
Коэффициент Blend имеет значение (As, As, As, As).
-
D3DBLEND_INVSRCALPHA
-
Коэффициент смешения равен ( 1 - As, 1 - As, 1 - As, 1 - As).
-
D3DBLEND_DESTALPHA
-
Коэффициент смешения равен (Ad Ad Ad Ad A d).
-
D3DBLEND_INVDESTALPHA
-
Коэффициент смешения равен (1 - Ad 1 - Ad 1 - Ad 1 - Ad).
-
D3DBLEND_DESTCOLOR
-
Коэффициент смешения равен (Rd, Gd, Bd, Ad).
-
D3DBLEND_INVDESTCOLOR
-
Коэффициент смешения равен (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad).
-
D3DBLEND_SRCALPHASAT
-
Коэффициент смешения равен (f, f, f, 1); где f = min(As, 1 - Ad).
-
D3DBLEND_BOTHSRCALPHA
-
Устарело. Начиная с DirectX 6, вы можете добиться того же эффекта, задав для исходных и целевых коэффициентов смешения D3DBLEND_SRCALPHA и D3DBLEND_INVSRCALPHA в отдельных вызовах.
-
D3DBLEND_BOTHINVSRCALPHA
-
Устарело. Коэффициент смешения источника — (1 — As, 1 — As, 1 — As, 1 — As), а коэффициент смешения назначения — (As, As, As); переопределяется выбор целевой смеси. Этот режим наложения поддерживается только для D3DRS_SRCBLEND состояния отрисовки.
-
D3DBLEND_BLENDFACTOR
-
Коэффициент постоянного смешивания цветов, используемый блендером буфера кадров. Этот режим наложения поддерживается только в том случае, если D3DPBLENDCAPS_BLENDFACTOR задано в членах SrcBlendCaps или DestBlendCapsD3DCAPS9.
-
D3DBLEND_INVBLENDFACTOR
-
Инвертированная константная величина смешивания цветов, используемая блендером буфера кадров. Этот режим наложения поддерживается только в том случае, если бит D3DPBLENDCAPS_BLENDFACTOR задан в элементах SrcBlendCaps или DestBlendCapsэлемента D3DCAPS9.
-
D3DBLEND_SRCCOLOR2
-
Коэффициент blend равен (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, не используется). См. раздел Наложение целевого объекта отрисовки.
Различия между Direct3D 9 и Direct3D 9Ex:
- Этот флаг доступен только в Direct3D 9Ex.
-
D3DBLEND_INVSRCCOLOR2
-
Коэффициент смешения равен (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, не используется)). См. раздел Наложение целевого объекта отрисовки.
Различия между Direct3D 9 и Direct3D 9Ex:
- Этот флаг доступен только в Direct3D 9Ex.
-
D3DBLEND_FORCE_DWORD
-
Принудительно компилирует это перечисление до 32 бит в размере. Без этого значения некоторые компиляторы позволили бы компилировать это перечисление до размера, отличного от 32 бит. Это значение не используется.
Комментарии
В предыдущих описаниях элементов значения RGBA источника и назначения указываются индексами s и d.
Значения в этом перечислимом типе используются в следующих состояниях отрисовки:
- D3DRS_DESTBLEND
- D3DRS_SRCBLEND
- D3DRS_DESTBLENDALPHA
- D3DRS_SRCBLENDALPHA
См. раздел D3DRENDERSTATETYPE.
Отрисовка целевого смешивания
В Direct3D 9Ex улучшены возможности отрисовки текста. Отрисовка шрифтов с четким типом обычно требует двух проходов. Чтобы исключить второй проход, можно использовать пиксельный шейдер для вывода двух цветов, которые можно назвать PSOutColor[0] и PSOutColor[1]. Первый цвет будет содержать три стандартных компонента цвета (RGB). Второй цвет будет содержать 3 альфа-компонента (по одному для каждого компонента первого цвета).
Эти новые режимы наложения используются только для отрисовки текста в первом целевом объекте отрисовки.
Требования
Требование | Значение |
---|---|
Заголовок |
|
См. также раздел