ID3DXEffect::SetRawValue メソッド
メモリ コピーを使用して、シェーダー定数の連続した範囲を設定します。
構文
HRESULT SetRawValue(
[in] D3DXHANDLE Handle,
[in] void *pData,
[in] DWORD OffsetInBytes,
[in] DWORD Bytes
);
パラメーター
-
ハンドル [入力]
-
型: D3DXHANDLE
設定する値、または文字列として渡される値の名前を処理します。 ハンドルを渡す方が効率的です。 「ハンドル (Direct3D 9)」を参照してください。
-
pData [in]
-
型: void*
設定するデータを含むバッファーへのポインター。 SetRawValue は有効なメモリをチェックしますが、有効なデータのチェックは行いません。
-
OffsetInBytes [in]
-
種類: DWORD
効果データの先頭から設定する効果定数の先頭までのバイト数。
-
バイト 数 [in]
-
種類: DWORD
設定するバッファーのサイズ (バイト単位)。
戻り値
種類: HRESULT
メソッドが成功した場合、戻り値はS_OK。 メソッドが失敗した場合、戻り値は次のいずれかになります:E_INVALIDCALL。
解説
SetRawValue は、検証やデータ変換を実行せずにメモリ コピーを実行するため、効果定数を設定する非常に高速な方法です (行メジャー 行列を列メジャー 行列に変換する場合など)。 SetRawValue を使用して、連続する一連の効果定数を設定します。 たとえば、 ID3DXBaseEffect::SetMatrix を 20 回呼び出すか、単一の SetRawValue を使用して、20 個の行列の配列を設定できます。
すべての値は matrix4x4s または float4 のいずれかであり、すべての行列は列メジャー順であることが予想されます。 Int 値または float 値は float4 にキャストされます。そのため、float4 または matrix4x4 データのみを含む SetRawValue を使用することを強くお勧めします。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
関連項目