乱気流効果
乱気流効果を使用して、Perlin ノイズ関数に基づいてビットマップを生成します。
乱気流効果には入力画像がありません。
この効果の CLSID はCLSID_D2D1Turbulence。
画像の例
乱気流効果は、Perlin ノイズ関数の 1 つ以上のオクターブの合計を計算します。 Perlin ノイズは、周波数、位置、シード値に依存する値を持つ擬似ランダム関数です。 効果は、これらの式のいずれかを使用して RGBA 値を生成します。
D2D1_TURBULENCE_NOISE_FRACTAL_SUMノイズモードを選択した場合、効果はこの式を使用します。
D2D1_TURBULENCE_NOISE_TURBULENCEノイズモードを選択した場合、効果はこの式を使用します。
注意
関数の範囲は PerlinNoise
[-1, 1] です。
この効果は、前乗算アルファのピクセル値を出力します。
Effect プロパティ
表示名とインデックス列挙 | 説明 |
---|---|
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 方向の基本周波数。 このプロパティは float であり、0 より大きい値である必要があります。 単位は 1/DIP で指定されます。 基本周波数の値が 1 (1/DIP) の場合、Perlin ノイズが 2 ピクセル間のサイクル全体を完了します。 これらのピクセルの補間が容易であるため、ピクセル間に相関関係がないため、完全にランダムなピクセルになります。 基本周波数に対して 0.1(1/DIP) の値を指定すると、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 |
乱気流ノイズ モード。 このプロパティには 、フラクタル合計 または 乱気流のいずれかを指定できます。 フラクタル ノイズまたは乱気流関数に基づいてビットマップを生成するかどうかを示します。 詳細については、「 ノイズ モード 」を参照してください。 型が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 |