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 |
|
Bibliothèque |
|
Voir aussi