D3DTEXTURESTAGESTATETYPE-Enumeration

Texturphasenzustände definieren Texturvorgänge mit mehreren Blendern. Einige Samplerzustände richten die Vertexverarbeitung ein, andere richten die Pixelverarbeitung ein. Zustandszustände der Texturphase können mithilfe von Zustandsblöcken gespeichert und wiederhergestellt werden (siehe Zustandsblöcke Speichern und Wiederherstellen des Zustands (Direct3D 9)).

Syntax

typedef enum D3DTEXTURESTAGESTATETYPE { 
  D3DTSS_COLOROP                = 1,
  D3DTSS_COLORARG1              = 2,
  D3DTSS_COLORARG2              = 3,
  D3DTSS_ALPHAOP                = 4,
  D3DTSS_ALPHAARG1              = 5,
  D3DTSS_ALPHAARG2              = 6,
  D3DTSS_BUMPENVMAT00           = 7,
  D3DTSS_BUMPENVMAT01           = 8,
  D3DTSS_BUMPENVMAT10           = 9,
  D3DTSS_BUMPENVMAT11           = 10,
  D3DTSS_TEXCOORDINDEX          = 11,
  D3DTSS_BUMPENVLSCALE          = 22,
  D3DTSS_BUMPENVLOFFSET         = 23,
  D3DTSS_TEXTURETRANSFORMFLAGS  = 24,
  D3DTSS_COLORARG0              = 26,
  D3DTSS_ALPHAARG0              = 27,
  D3DTSS_RESULTARG              = 28,
  D3DTSS_CONSTANT               = 32,
  D3DTSS_FORCE_DWORD            = 0x7fffffff
} D3DTEXTURESTAGESTATETYPE, *LPD3DTEXTURESTAGESTATETYPE;

Konstanten

D3DTSS _ COLOROP

Der Texturphasenzustand ist ein Texturfarbmischungsvorgang, der von einem Member des D3DTEXTUREOP-Enumerationstyps identifiziert wird. Der Standardwert für die erste Texturphase (Stufe 0) ist D3DTOP _ MODULATE. Für alle anderen Phasen ist der Standardwert D3DTOP _ DISABLE.

D3DTSS _ COLORARG1

Der Texturphasenzustand ist das erste Farbargument für die Stufe, das durch einen der D3DTAidentifiziert wird. Das Standardargument ist D3DTA _ TEXTURE.

Geben Sie D3DTA _ TEMP an, um eine temporäre Registerfarbe für Lese- oder Schreibzugriff auszuwählen. D3DTA _ TEMP wird unterstützt, wenn die D3DPMISCCAPS _ TSSARGTEMP-Gerätefunktion vorhanden ist. Der Standardwert für das Register ist (0,0, 0,0, 0,0, 0,0).

D3DTSS _ COLORARG2

Der Texturphasenzustand ist das zweite Farbargument für die Stufe, das durch D3DTAidentifiziert wird. Das Standardargument ist D3DTA _ CURRENT. Geben Sie D3DTA _ TEMP an, um eine temporäre Registerfarbe für Lese- oder Schreibzugriff auszuwählen. D3DTA _ TEMP wird unterstützt, wenn die D3DPMISCCAPS _ TSSARGTEMP-Gerätefunktion vorhanden ist. Der Standardwert für das Register ist (0,0, 0,0, 0,0, 0,0).

D3DTSS _ ALPHAOP

Der Texturphasenzustand ist ein Textur-Alphamischungsvorgang, der von einem Member des D3DTEXTUREOP-Enumerationstyps identifiziert wird. Der Standardwert für die erste Texturphase (Stufe 0) ist D3DTOP _ SELECTARG1, und für alle anderen Phasen ist der Standardwert D3DTOP _ DISABLE.

D3DTSS _ ALPHAARG1

Der Texturphasenzustand ist das erste Alphaargument für die Phase, das durch D3DTAidentifiziert wird. Das Standardargument ist D3DTA _ TEXTURE. Wenn für diese Phase keine Textur festgelegt ist, ist das Standardargument D3DTA _ DIFFUSE. Geben Sie D3DTA _ TEMP an, um eine temporäre Registerfarbe für Lese- oder Schreibzugriff auszuwählen. D3DTA _ TEMP wird unterstützt, wenn die D3DPMISCCAPS _ TSSARGTEMP-Gerätefunktion vorhanden ist. Der Standardwert für das Register ist (0,0, 0,0, 0,0, 0,0).

D3DTSS _ ALPHAARG2

Der Texturphasenzustand ist das zweite Alphaargument für die Phase, das durch D3DTAidentifiziert wird. Das Standardargument ist D3DTA _ CURRENT. Geben Sie D3DTA _ TEMP an, um eine temporäre Registerfarbe für Lese- oder Schreibzugriff auszuwählen. D3DTA _ TEMP wird unterstützt, wenn die D3DPMISCCAPS _ TSSARGTEMP-Gerätefunktion vorhanden ist. Der Standardwert für das Register ist (0,0, 0,0, 0,0, 0,0).

D3DTSS _ BUMPENVMAT00

Der Texturphasenzustand ist ein Gleitkommawert für den [ ] [ Koeffizienten 0 0 ] in einer Bumpmappingmatrix. Der Standardwert ist 0,0.

D3DTSS _ BUMPENVMAT01

Der Texturphasenzustand ist ein Gleitkommawert für den [ ] [ Koeffizienten 0 1 ] in einer Bumpmappingmatrix. Der Standardwert ist 0,0.

D3DTSS _ BUMPENVMAT10

Der Texturphasenzustand ist ein Gleitkommawert für den [ ] [ Koeffizienten 1 0 ] in einer Bumpmappingmatrix. Der Standardwert ist 0,0.

D3DTSS _ BUMPENVMAT11

Der Texturphasenzustand ist ein Gleitkommawert für den [ ] [ Koeffizienten 1 1 ] in einer Bump-Mapping-Matrix. Der Standardwert ist 0,0.

D3DTSS _ TEXCOORDINDEX

Index des Texturkoordinatensatzes, der mit dieser Texturphase verwendet werden soll. Sie können bis zu acht Sätze von Texturkoordinaten pro Scheitelpunkt angeben. Wenn ein Scheitelpunkt keinen Satz von Texturkoordinaten am angegebenen Index enthält, verwendet das System standardmäßig die Sie- und v-Koordinaten (0,0).

Beim Rendern mit Vertex-Shadern muss der Texturkoordinatenindex jeder Phase auf den Standardwert festgelegt werden. Der Standardindex für jede Phase entspricht dem Phasenindex. Legen Sie diesen Zustand auf den nullbasierten Index des Koordinatensatzes für jeden Scheitelpunkt fest, der von dieser Texturphase verwendet wird.

Darüber hinaus können Anwendungen als logisches OR mit dem festgelegten Index eine der Konstanten enthalten, die anfordern, dass Direct3D automatisch die Eingabetexturkoordinaten für eine Texturtransformation generiert. Eine Liste aller Konstanten finden Sie unter D3DTSS _ TCI.

Mit Ausnahme von D3DTSS _ TCI _ PASSTHRU, das in 0 (null) aufgelöst wird, verwendet das System den Index ausschließlich, um den Texturumbruchmodus zu bestimmen, wenn einer der folgenden Werte im festgelegten Index enthalten ist. Diese Flags sind besonders nützlich beim Durchführen der Umgebungszuordnung.

D3DTSS _ BUMPENVLSCALE

Gleitkomma-Skalierungswert für die Leuchtdichte von Bumpmaps. Der Standardwert ist 0,0.

D3DTSS _ BUMPENVLOFFSET

Gleitkommaoffsetwert für die Leuchtdichte von Bumpmaps. Der Standardwert ist 0,0.

D3DTSS _ TEXTURETRANSFORMFLAGS

Member des D3DTEXTURETRANSFORMFLAGS-Enumerationstyps, der die Transformation von Texturkoordinaten für diese Texturphase steuert. Der Standardwert ist D3DTTFF _ DISABLE.

D3DTSS _ COLORARG0

Einstellungen für den dritten Farbopernden für trikoische Operationen (Multiplizieren, Hinzufügen und lineares Interpolieren), die durch D3DTAidentifiziert werden. Diese Einstellung wird unterstützt, wenn die LERP-Gerätefunktionen D3DTEXOPCAPS _ MULTIPLYADD oder D3DTEXOPCAPS _ vorhanden sind. Das Standardargument ist D3DTA _ CURRENT. Geben Sie D3DTA _ TEMP an, um eine temporäre Registerfarbe für Lese- oder Schreibzugriff auszuwählen. D3DTA _ TEMP wird unterstützt, wenn die D3DPMISCCAPS _ TSSARGTEMP-Gerätefunktion vorhanden ist. Der Standardwert für das Register ist (0,0, 0,0, 0,0, 0,0).

D3DTSS _ ALPHAARG0

Einstellungen für den Alphakanalselektoropernden für trikotische Vorgänge (Multiplizieren, Hinzufügen und lineares Interpolieren), die durch D3DTAidentifiziert werden. Diese Einstellung wird unterstützt, wenn die LERP-Gerätefunktionen D3DTEXOPCAPS _ MULTIPLYADD oder D3DTEXOPCAPS _ vorhanden sind. Das Standardargument ist D3DTA _ CURRENT. Geben Sie D3DTA _ TEMP an, um eine temporäre Registerfarbe für Lese- oder Schreibzugriff auszuwählen. D3DTA _ TEMP wird unterstützt, wenn die D3DPMISCCAPS _ TSSARGTEMP-Gerätefunktion vorhanden ist. Das Standardargument ist (0,0, 0,0, 0,0, 0,0).

D3DTSS _ RESULTARG

Einstellung zum Auswählen des Zielregisters für das Ergebnis dieser Phase, identifiziert durch D3DTA. Dieser Wert kann auf D3DTA CURRENT (Standardwert) oder D3DTA TEMP festgelegt werden. Dabei handelt es sich _ um ein _ einzelnes temporäres Register, das als Eingabeargument in nachfolgende Phasen eingelesen werden kann. Die endgültige Farbe, die an den Blender und den Framepuffer übergeben wird, wird von D3DTA _ CURRENT übernommen, sodass der Zustand der letzten aktiven Texturphase auf "Aktuell" festgelegt werden muss. Diese Einstellung wird unterstützt, wenn die D3DPMISCCAPS _ TSSARGTEMP-Gerätefunktion vorhanden ist.

D3DTSS-KONSTANTE _

Konstante Farbe pro Stufe. Um festzustellen, ob ein Gerät eine stufenspezifische Konstante unterstützt, lesen Sie die D3DPMISCCAPS _ PERSTAGECONSTANT-Konstante in D3DPMISCCAPS. D3DTSS _ CONSTANT wird von D3DTA CONSTANT _ verwendet. Siehe D3DTA.

D3DTSS _ FORCE _ DWORD

Erzwingt, dass diese Enumeration in eine Größe von 32 Bits kompiliert wird. Ohne diesen Wert würden einige Compiler zulassen, dass diese Enumeration in eine andere Größe als 32 Bits kompiliert wird. Dieser Wert wird nicht verwendet.

Bemerkungen

Member dieses Enumerationstyps werden mit den Methoden IDirect3DDevice9::GetTextureStageState und IDirect3DDevice9::SetTextureStageState verwendet, um Texturzustandswerte abzurufen und festzulegen.

Der gültige Wertebereich für die Matrixkoeffizienten D3DTSS _ BUMPENVMAT00, D3DTSS _ BUMPENVMAT01, D3DTSS _ BUMPENVMAT10 und D3DTSS _ BUMPENVMAT11 ist größer oder gleich -8,0 und kleiner als 8,0. Dieser In mathematischer Notation ausgedrückte Bereich ist (-8,0,8,0).

Requirements (Anforderungen)

Anforderung Wert
Header
D3D9Types.h

Weitere Informationen

Direct3D-Enumerationen

IDirect3DDevice9::GetTextureStageState

IDirect3DDevice9::SetTextureStageState