result = white - ((white - blend) * (white - base)):

16.6.10. Усиление цвета В режиме усиления цвета основной цвет затемняется дополнительным цветом (уменьшается яркость). Если значение blend - белый цвет, эффекта в этой точке не будет. При вычислениях иногда могут получиться отрицательные значения, которые будут отброшены при приведении окончательного цвета к конкретному диапазону:

result = white - (white - base) / blend:

16.6.11. Ослабление цвета Этот режим делает цвета более светлыми. Если значение blend - черный цвет, эффекта в этой точке не будет. При вычислении могут получиться значения больше 1, которые затем отбрасываются так же, как и при реализации предыдущего режима:

result = base / (white - blend);

16.6.12. Наложение В этом режиме сначала вычисляется яркость основного изображения. Если значение яркости меньше 0,5, значения blend и base умножаются. Если значение яркости больше 0,5, выполняется та же операция, что и в режиме экрана. Эффект состоит в том, что значение base смешивается со значением Ы end, а не заменяется им. Это позволяет шаблонам и цветам перекрывать основное изображение, со16.6. Режимы плавного перехода храняя тени и освещенные участки. При значении яркости равном 0,5 получается разрыв, поэтому нужно создать в этих местах плавный переход между уравнениями для яркости в диапазоне [0,45, 0,55]:

float luminance = dot(base. lumCoeff):
if (luminance < 0 .45)
result = 2.0 * blend * base: else if (luminance > 0.55)
result = white - 2.0 * (white - blend) * (white - base); el se {
vec4 resultl = 2.0 * blend * base:
vec4 result2 = white - 2.0 * (white - blend) * (white - base): result = mix(resultl. result2. (luminance - 0.45) * 10.0):
}

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

result = 2.0 * base * blend + base * base - 2.0 * base * base * blend:

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