Описанный выше способ назначения весов задается функцией д1В1епс1Рипс-(СЬ_5РС_АЬРНА, СЬ_0М Е_М I Ми5_5РС_А1_РНА).

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

Библиотека поддерживает множество других способов формирования весов, но их применение зависит от возможностей аппаратуры и драйвера графического адаптера. Например, функция д1 В1 епс1Рипс(6Ь_0МЕ, 61__гЕ1Ю) заставляет систему брать цвет новой точки с единичным весом, а цвет существующей точки - с нулевым весом. Это приводит к такому же результату, что и выключение смешивания функцией д101 $аЫе(61__В1_ЕШ).

В отличие от удаления невидимых точек, получаемое при смешивании изображение зависит от порядка вывода примитивов. Во-первых, цвет ранее записанной в буфер кадра точки и цвет точки нового примитива берутся с разными весами. Во-вторых, при отсутствии в видеобуфере составляющей альфа, как это обычно бывает в режимах с цветовой глубиной 16 и 24 бита, точка видеобуфера считается непрозрачной. Таким образом, полупрозрачная грань, занесенная в видеобуфер, для всех последующих граней станет непрозрачной. В-третьих, тест глубины выполняется в конвейере раньше смешивания цветов. Результатом теста может быть отбрасывание фрагмента, и отброшенный на этом этапе фрагмент не будет участвовать в последующем смешивании.

На рис. 22.5 приведены результаты совместного применения смешивания цветов и теста глубины. В окне слева был выведен сначала непрозрачный треугольник, а потом прозрачный треугольник. Результат выглядит естественно, так как непрозрачный треугольник виден сквозь прозрачный. Но если полупрозрачный треугольник вывести первым, то эффект прозрачности пропадет. Это иллюстрируют изображения пары полупрозрачных треугольников. В каждом случае из двух полупрозрачных треугольников один кажется непрозрачным. Примитивы в центральном и правом окнах имеют одинаковые координаты и цвет. Различия обусловлены тем, что в правом окне треугольник с однотонной закраской выведен первым, а в центральном - вторым.


⇐ Предыдущая| |Следующая ⇒