Partager via


ID3DXEffect::SetRawValue, méthode

Définissez une plage contiguë de constantes de nuanceur avec une copie en mémoire.

Syntaxe

HRESULT SetRawValue(
  [in] D3DXHANDLE Handle,
  [in] void       *pData,
  [in] DWORD      OffsetInBytes,
  [in] DWORD      Bytes
);

Paramètres

Handle [in]

Type : D3DXHANDLE

Gérez la valeur à définir ou le nom de la valeur passée sous forme de chaîne. Le passage d’une poignée est plus efficace. Consultez Handles (Direct3D 9).

pData [in]

Type : void*

Pointeur vers une mémoire tampon contenant les données à définir. SetRawValue recherche la mémoire valide, mais ne vérifie pas les données valides.

OffsetInBytes [in]

Type : DWORD

Nombre d’octets entre le début des données d’effet et le début des constantes d’effet que vous allez définir.

Octets [in]

Type : DWORD

Taille de la mémoire tampon à définir, en octets.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est S_OK. Si la méthode échoue, la valeur de retour peut être l’une des suivantes : E_INVALIDCALL.

Notes

SetRawValue est un moyen très rapide de définir des constantes d’effet, car il effectue une copie de la mémoire sans effectuer de validation ou de conversion de données (comme la conversion d’une matrice de majeure ligne en matrice principale de colonne). Utilisez SetRawValue pour définir une série de constantes d’effet contiguës. Par instance, vous pouvez définir un tableau de vingt matrices avec 20 appels à ID3DXBaseEffect::SetMatrix ou à l’aide d’un seul SetRawValue.

Toutes les valeurs sont censées être matrice4x4 ou float4s, et toutes les matrices doivent être dans l’ordre des colonnes principales. Les valeurs int ou float sont converties en float4 ; Par conséquent, il est vivement recommandé d’utiliser SetRawValue avec uniquement des données float4 ou matrix4x4.

Spécifications

Condition requise Valeur
En-tête
D3DX9Effect.h
Bibliothèque
D3dx9.lib

Voir aussi

ID3DXEffect