Поделиться через


Эффект турбулентности

Используйте эффект турбулентности для создания растрового изображения на основе функции шума Perlin.

Эффект турбулентности не имеет входного изображения.

CLSID для этого эффекта CLSID_D2D1Turbulence.

Пример изображения

Снимок экрана с примером эффектов, показывающий выходные данные эффекта турбулентности.

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

При выборе режима шума D2D1_TURBULENCE_NOISE_FRACTAL_SUM эффект использует это уравнение.

Снимок экрана: функция турбулентности, используемая для создания растрового изображения.

При выборе режима шума D2D1_TURBULENCE_NOISE_TURBULENCE эффект использует это уравнение.

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

Примечание

Функция PerlinNoise имеет диапазон [-1, 1].

Этот эффект выводит значения пикселей в предварительно замедленном альфа-канале.

Свойства эффекта

Отображаемое перечисление имен и индексов Описание
Offset
D2D1_TURBULENCE_PROP_OFFSET
Координаты, в которых создаются выходные данные турбулентности.
Алгоритм, используемый для создания шума Perlin, зависит от позиции, поэтому другое смещение приводит к другому выходу. Это свойство не ограничивается, и единицы указаны в DIP
Примечание: Смещение не имеет того же эффекта, что и преобразование, так как выходные данные функции шума бесконечны и функция будет обтекать плитку.
Тип D2D1_VECTOR_2F.
Значение по умолчанию — {0.0f, 0.0f}.
Размер
D2D1_TURBULENCE_PROP_SIZE
Размер выходных данных турбулентности.
Это свойство не ограничивается, и единицы указаны в DIP

Тип D2D1_VECTOR_2F.
Значение по умолчанию — {0.0f, 0.0f}.
BaseFrequency
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
Базовые частоты в направлении X и Y. Это свойство является плавающей точкой и должно быть больше 0. Единицы измерения указываются в 1/DIP.
Значение 1 (1/DIP) для базовой частоты приводит к тому, что шум Перлина завершает весь цикл между двумя пикселями. Упрощение интерполяции для этих пикселей приводит к совершенно случайным пикселям, так как корреляция между пикселями отсутствует.
При значении 0,1 (1/DIPs) для базовой частоты функция шума Perlin повторяет каждые 10 DIP. Это приводит к корреляции между пикселями и видимым типичным эффектом турбулентности.
Тип D2D1_VECTOR_2F.
Значение по умолчанию — {0,01f, 0,01f}.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
Число октав для функции шума. Это свойство является UINT32 и должно быть больше 0.
Тип — UINT32.
Значение по умолчанию — 1.
Seed
D2D1_TURBULENCE_PROP_SEED
Начальное значение для псевдослучайного генератора. Это свойство не имеет ограничений.
Тип — UINT32.
Значение по умолчанию — 0.
Помехи
D2D1_TURBULENCE_PROP_NOISE
Режим шума турбулентности. Это свойство может быть либо фрактальной суммой , либо турбулентностью. Указывает, следует ли создать точечное изображение на основе fractal Noise или функции Turbulence. Дополнительные сведения см. в разделе Режимы шума .
Тип D2D1_TURBULENCE_NOISE.
Значение по умолчанию — D2D1_TURBULENCE_NOISE_FRACTAL_SUM.
Сшиваемый
D2D1_TURBULENCE_PROP_STITCHABLE
Включает или отключает сшивание. Базовая частота корректируется таким образом, чтобы можно было сшить выходное растровое изображение. Это полезно, если требуется создать плитку для нескольких копий выходных данных эффекта турбулентности.
  • True. Выходное растровое изображение может быть мозаичным (с помощью эффекта плитки) без появления швов. Базовая частота корректируется таким образом, чтобы можно было сшить выходное растровое изображение.
  • False Базовая частота не регулируется, поэтому между плитками могут появляться швы, если растровое изображение является плиткой.

Тип — BOOL.
Значение по умолчанию — FALSE.

Режимы шума

Перечисление Описание
D2D1_TURBULENCE_NOISE_FRACTAL_SUM Вычисляет сумму октав, перемещая выходной диапазон с [-1, 1], на [0, 1].
D2D1_TURBULENCE_NOISE_TURBULENCE Вычисляет сумму абсолютного значения каждой октавы.

Примечание

Ни режим не содержит явного закрепления выходных значений.

Выходной растровый рисунок

Этот эффект создает точечный рисунок с логически бесконечным размером.

Требования

Требование Значение
Минимальная версия клиента Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows]
Минимальная версия сервера Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows]
Заголовок d2d1effects.h
Библиотека d2d1.lib, dxguid.lib

ID2D1Effect