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


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

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

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

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

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

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

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

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

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

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

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

Заметка

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

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

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

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

Тип D2D1_VECTOR_2F.
Значение по умолчанию — {0.0f, 0.0f}.
BaseFrequency
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
Базовые частоты в направлении X и Y. Это свойство является плавающей запятой и должно быть больше 0. Единицы указываются в 1/DIPs.
Значение 1 (1/DIPs) для базовой частоты приводит к шуму Perlin, завершающего весь цикл между двумя пикселями. Упрощение интерполяции для этих пикселей приводит к совершенно случайным пикселям, так как между пикселями нет корреляции.
Значение 0,1(1/DIPs) для базовой частоты функция шума Perlin повторяет каждые 10 DIPS. Это приводит к корреляции между пикселями и типичным эффектом турбулентности.
Тип D2D1_VECTOR_2F.
Значение по умолчанию — {0.01f, 0.01f}.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
Число октава для функции шума. Это свойство является UINT32 и должно быть больше 0.
Тип — UINT32.
Значение по умолчанию — 1.
Семя
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