Эффект турбулентности
Используйте эффект турбулентности для создания растрового изображения на основе функции шума 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 |
Включает или отключает стежку. Базовая частота настраивается таким образом, чтобы вывести точечный рисунок выходных данных. Это полезно, если требуется плитка нескольких копий выходных данных эффекта турбулентности.
Тип — 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 |