ホーム › Graphics.DirectComposition › IDCompositionTurbulenceEffect
IDCompositionTurbulenceEffect
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 4 HRESULT SetOffset(D2D_VECTOR_2F* offset)
| offset | D2D_VECTOR_2F* | in | ノイズパターンの生成原点オフセットを表すD2D_VECTOR_2Fへのポインタである。 |
vtbl 5 HRESULT SetBaseFrequency(D2D_VECTOR_2F* frequency)
| frequency | D2D_VECTOR_2F* | in | ノイズの基本周波数(X,Y)を表すD2D_VECTOR_2Fへのポインタである。 |
vtbl 6 HRESULT SetSize(D2D_VECTOR_2F* size)
| size | D2D_VECTOR_2F* | in | 生成する乱流イメージのサイズ(幅,高さ)を表すD2D_VECTOR_2Fへのポインタである。 |
| numOctaves | DWORD | in | ノイズ合成に用いるオクターブ数。多いほど細部が増える正の整数である。 |
| seed | DWORD | in | 擬似乱数生成の初期シード値。同値で同一パターンを再現できる。 |
vtbl 9 HRESULT SetNoise(D2D1_TURBULENCE_NOISE noise)
| noise | D2D1_TURBULENCE_NOISE | in | ノイズの種類を指定するD2D1_TURBULENCE_NOISE列挙値である。 |
| stitchable | BOOL | in | TRUEでタイル状に継ぎ目なく並べられるノイズにするかを指定するフラグである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDCompositionTurbulenceEffect "{A6A55BDA-C09C-49F3-9193-A41922C89715}" #usecom global IDCompositionTurbulenceEffect IID_IDCompositionTurbulenceEffect "{}" #comfunc global IDCompositionTurbulenceEffect_SetOffset 4 var #comfunc global IDCompositionTurbulenceEffect_SetBaseFrequency 5 var #comfunc global IDCompositionTurbulenceEffect_SetSize 6 var #comfunc global IDCompositionTurbulenceEffect_SetNumOctaves 7 int #comfunc global IDCompositionTurbulenceEffect_SetSeed 8 int #comfunc global IDCompositionTurbulenceEffect_SetNoise 9 int #comfunc global IDCompositionTurbulenceEffect_SetStitchable 10 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IDCompositionTurbulenceEffect "{A6A55BDA-C09C-49F3-9193-A41922C89715}" #usecom global IDCompositionTurbulenceEffect IID_IDCompositionTurbulenceEffect "{}" #comfunc global IDCompositionTurbulenceEffect_SetOffset 4 sptr #comfunc global IDCompositionTurbulenceEffect_SetBaseFrequency 5 sptr #comfunc global IDCompositionTurbulenceEffect_SetSize 6 sptr #comfunc global IDCompositionTurbulenceEffect_SetNumOctaves 7 int #comfunc global IDCompositionTurbulenceEffect_SetSeed 8 int #comfunc global IDCompositionTurbulenceEffect_SetNoise 9 int #comfunc global IDCompositionTurbulenceEffect_SetStitchable 10 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。