float noise = (noisel(vec2 (gl_TexCoord[0] * noiseScale)) + 1.0) * 0.5; result = (noise < opacity) ? blend : base:
16.6.4. «Позади» В этом режиме значение Ы end выбирается только тогда, когда основное изображение полностью прозрачно (base, а = 0,0). При использовании этого режима создается эффект изображения, нарисованного на обратной стороне прозрачного полотна: будут видны только области, расположенные напротив прозрачных пикселов:
result - (base.а == 0.0) ? blend : base:
16.6.5. Очистка Здесь всегда используется значение bl end и прозрачность результата установлена в 0 (прозрачность). Этот режим больше подходит для различных инструментов рисования, чем для целых изображений:
result.rgb = blend.rgb: result.а = 0.0:
16.6.6. Затемнение В режиме затемнения сравниваются два значения и для каждого компонента выбирается минимальное из них. Эта операция сделает изображения темнее. Цвет совершенно белого изображения (RGB = 1,0,1,0,1,0) не изменится. При обработке областей черного цвета в любом изображении (0, 0, 0) получатся такие же черные области. Это коммутативная операция - результат не изменится, если изображения поменять местами: result = min(blend. base):
Шейдеры для обработки изображения
16.6.7. Осветление Этот режим противоположен затемнению. Вместо того чтобы выбирать минимальное значение для каждого компонента, выбирается максимальное значение. Эта операция тоже коммутативна:
result = max(blend. base):
16.6.8. Умножение В этом режиме значения яркости двух изображений перемножаются. Окончательное изображение получится темнее везде, где ни одно изображение не белое. Белый цвет здесь является оператором прозрачности, так как любой цвет, умноженный на белый, не изменится. Области черного цвета (0, 0, 0) в любом изображении дадут в результате черный цвет. Это похоже на наложение двух полупрозрачных цветов на диапроекторе. Операция коммутативна: result = blend * base:
16.6.9. Экран Режим экрана противоположен умножению, поскольку здесь умножаются значения, противоположные исходным. Оператором прозрачности является черный цвет. Этот режим коммутативен: