ID3DXEffect::SetRawValue-Methode
Legen Sie einen zusammenhängenden Bereich von Shaderkonstanten mit einer Speicherkopie fest.
Syntax
HRESULT SetRawValue(
[in] D3DXHANDLE Handle,
[in] void *pData,
[in] DWORD OffsetInBytes,
[in] DWORD Bytes
);
Parameter
-
Handle [in]
-
Typ: D3DXHANDLE
Handle an den festzulegenden Wert oder den Namen des werts, der als Zeichenfolge übergeben wird. Die Übergabe eines Handles ist effizienter. Weitere Informationen finden Sie unter Handles (Direct3D 9).
-
pData [in]
-
Typ: void*
Zeiger auf einen Puffer, der die festzulegenden Daten enthält. SetRawValue überprüft auf gültigen Arbeitsspeicher, führt jedoch keine Überprüfung auf gültige Daten durch.
-
OffsetInBytes [in]
-
Typ: DWORD
Anzahl der Bytes zwischen dem Anfang der Effektdaten und dem Beginn der Effektkonstanten, die Sie festlegen werden.
-
Bytes [in]
-
Typ: DWORD
Die Größe des festzulegenden Puffers in Bytes.
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert S_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert einer der folgenden sein: E_INVALIDCALL.
Bemerkungen
SetRawValue ist eine sehr schnelle Möglichkeit, Effektkonstanten festzulegen, da es eine Speicherkopie ohne Validierung oder Datenkonvertierung durchführt (z. B. die Konvertierung einer Zeilen-Hauptmatrix in eine Spalten-Hauptmatrix). Verwenden Sie SetRawValue, um eine Reihe zusammenhängender Effektkonstanten festzulegen. Für instance können Sie ein Array von zwanzig Matrizen mit 20 Aufrufen von ID3DXBaseEffect::SetMatrix oder mithilfe eines einzelnen SetRawValue festlegen.
Es wird erwartet, dass alle Werte matrix4x4s oder float4s sind, und es wird erwartet, dass alle Matrizen in spaltenbasierter Reihenfolge liegen. Int- oder float-Werte werden in eine float4 umgewandelt; Daher wird dringend empfohlen, SetRawValue nur mit float4- oder matrix4x4-Daten zu verwenden.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Weitere Informationen