Freigeben über


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
D3DX9Effect.h
Bibliothek
D3dx9.lib

Weitere Informationen

ID3DXEffect