乱れ効果
乱れ効果を使用して、Perlin ノイズ関数に基づいてビットマップを生成します。
乱れ効果には入力画像がありません。
この効果の CLSID はCLSID_D2D1Turbulence。
画像の例
乱れ効果は、Perlin ノイズ関数の 1 つ以上のオクターブの合計を計算します。 Perlin ノイズは、周波数、位置、シード値に依存する値を持つ擬似ランダム関数です。 効果は、これらの式のいずれかを使用して RGBA 値を生成します。
D2D1_TURBULENCE_NOISE_FRACTAL_SUMノイズ モードを選択した場合、効果はこの式を使用します。
D2D1_TURBULENCE_NOISE_TURBULENCEノイズモードを選択すると、エフェクトはこの式を使用します。
ビットマップの生成に使用する乱れ関数を
手記
PerlinNoise
関数の範囲は [-1, 1] です。
この効果は、事前乗算されたアルファのピクセル値を出力します。
Effect プロパティ
表示名とインデックス列挙 | 形容 |
---|---|
相殺 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 です。 |
種 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 7 用 Windows 8 およびプラットフォーム更新プログラム [デスクトップ アプリ |[Windows ストア アプリ] |
サポートされている最小サーバー | Windows 7 用 Windows 8 およびプラットフォーム更新プログラム [デスクトップ アプリ |[Windows ストア アプリ] |
ヘッダ | d2d1effects.h |
図書館 | d2d1.lib、dxguid.lib |