BlackAndWhite, Grain, Vignette, ColorCorrection

Модуль BlackAndWhite в Babylon.js позволяет реализовать эффект черно-белого изображения, который часто используется в визуальных эффектах или при создании стилей, в которых цветовая палитра ограничена или отсутствует. Эффект используется для снятия насыщенности цвета сцены, преобразуя все пиксели в оттенки серого.

Чтобы активировать эффект, необходимо добавить его в сцену. Это можно сделать с помощью PostProcess — дополнительного процесса рендеринга, который применяется к итоговому изображению перед его выводом на экран.

Пример использования:

const blackAndWhitePostProcess = new BABYLON.BlackAndWhitePostProcess(
    "blackAndWhite", // Имя эффекта
    1.0, // Сила эффекта (от 0 до 1)
    camera, // Камера, для которой применяется эффект
    null, // Опционально, массив разрешений для эффекта
    BABYLON.Texture.BILINEAR_SAMPLINGMODE, // Режим выборки текстуры
    engine // Движок рендеринга
);

В этом примере эффект будет применяться к камере, и его сила равна 1.0, что означает полное преобразование изображения в черно-белое. Можно варьировать параметры, чтобы добиться нужной степени насыщенности.

Grain

Эффект Grain имитирует шум на изображении, что придает сцене винтажный или кинематографический стиль. Этот эффект особенно полезен для создания атмосферы старинных фильмов или текстур, которые должны выглядеть «зернистыми».

Для добавления эффекта шума используется класс GrainPostProcess. Он принимает несколько параметров, таких как интенсивность шума и размер зерна.

Пример использования:

const grainPostProcess = new BABYLON.GrainPostProcess(
    "grain", // Имя эффекта
    1.0, // Интенсивность шума (от 0 до 1)
    camera, // Камера, для которой применяется эффект
    null, // Дополнительные разрешения
    BABYLON.Texture.BILINEAR_SAMPLINGMODE, // Режим выборки текстуры
    engine // Движок рендеринга
);

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

Vignette

Эффект Vignette создает затемнение по краям изображения, что помогает фокусировать внимание на центральной части сцены. Этот эффект широко используется в фотографии и видеопроизводстве для усиления визуального акцента.

Для применения эффекта виньетирования используется класс VignettePostProcess, который позволяет настроить интенсивность затемнения, радиус области, а также форму виньетирования.

Пример использования:

const vignettePostProcess = new BABYLON.VignettePostProcess(
    "vignette", // Имя эффекта
    1.0, // Интенсивность затемнения
    1.5, // Радиус виньетирования
    camera, // Камера, к которой применяется эффект
    null, // Дополнительные разрешения
    BABYLON.Texture.BILINEAR_SAMPLINGMODE, // Режим выборки текстуры
    engine // Движок рендеринга
);

В этом примере интенсивность затемнения установлена на 1.0, что означает полное затемнение, а радиус виньетирования — на 1.5, что создает плавное затемнение от центра к краям. Модификация этих параметров позволяет варьировать внешний вид сцены.

ColorCorrection

ColorCorrection представляет собой эффект, позволяющий изменять оттенки, контрастность и яркость изображения в реальном времени. Этот эффект используется для цветовой коррекции сцены, создания определенной атмосферы или стилизации изображения в зависимости от нужд проекта.

Для использования этого эффекта в Babylon.js применяется класс ColorCorrectionPostProcess, который предоставляет возможность управлять цветовой гаммой и тональностью сцены.

Пример использования:

const colorCorrectionPostProcess = new BABYLON.ColorCorrectionPostProcess(
    "colorCorrection", // Имя эффекта
    1.0, // Сила эффекта
    camera, // Камера, к которой применяется эффект
    null, // Дополнительные разрешения
    BABYLON.Texture.BILINEAR_SAMPLINGMODE, // Режим выборки текстуры
    engine // Движок рендеринга
);

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


Эти эффекты являются основными инструментами для работы с визуальными эффектами в Babylon.js. Их можно комбинировать и адаптировать под нужды проекта, а также настроить параметры так, чтобы получить именно тот результат, который требуется для каждого конкретного случая.