Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mindestens eine D3DHAL_DP2RENDERSTATE Strukturen werden aus dem Befehlspuffer durch den D3dDrawPrimitives2 Rückruf analysiert, wenn das bCommand-element der D3DHAL_DP2COMMAND Struktur auf D3DDP2OP_RENDERSTATE festgelegt ist und zum Festlegen des entsprechenden Renderzustands verwendet wird.
Syntax
typedef struct _D3DHAL_DP2RENDERSTATE {
D3DRENDERSTATETYPE RenderState;
union {
D3DVALUE dvState;
DWORD dwState;
};
} D3DHAL_DP2RENDERSTATE;
Angehörige
RenderState
Gibt einen D3DRENDERSTATETYPE Aufzählungstyp an, der den zu aktualisierenden Renderzustand angibt. Renderzustände, die auf Anwendungsebene angefordert werden, werden in der DirectX SDK-Dokumentation beschrieben. Renderzustände, die ausschließlich von Treibern verwendet werden, werden in D3DRENDERSTATETYPEbeschrieben.
dvState
Gibt den Wert an, mit dem der Treiber den vom RenderState Member identifizierten Renderstatus aktualisieren soll. Dieses Element ist gültig, wenn RenderState- eine D3DVALUE erfordert.
dwState
Gibt den Wert an, auf den der Treiber den von RenderState identifizierten Renderzustand aktualisieren soll. Dieses Element ist gültig, wenn RenderState- ein DWORD erfordert.
Bemerkungen
D3dDrawPrimitives2- sollte wStateCount D3DHAL_DP2RENDERSTATE Strukturen aus dem Befehlspuffer verarbeiten. Der Wert wStateCount- wird in der D3DHAL_DP2COMMAND-Struktur angegeben.
Für jede D3DHAL_DP2RENDERSTATE Struktur sollte D3dDrawPrimitives2 den privaten Renderzustand des Treibers und das Renderzustandsarray aktualisieren, auf das die lpdwRStates Member von D3DHAL_DRAWPRIMITIVES2DATA verweist. Das element, das im Array des öffentlichen Renderzustands aktualisiert werden soll, ist lpdwRStates[RenderState].
Die folgende Abbildung zeigt einen Teil eines Beispielbefehlspuffers mit einem D3DDP2OP_RENDERSTATE Befehl und zwei D3DHAL_DP2RENDERSTATE Strukturen. Der Treiber sollte lpdwRStates[D3DRENDERSTATE_FILLMODE] so aktualisieren, dass er D3DFILL_SOLID und lpdwRStates[D3DRENDERSTATE_SHADEMODE] D3DSHADE_GOURAUD werden soll. Der Treiber sollte auch seinen privaten Zustand entsprechend aktualisieren.
Obwohl Renderzustände, deren Werte vom Typ Boolean sind, dokumentiert sind, nur TRUE(1) und FALSE(0) akzeptiert die Laufzeit diese nicht und akzeptiert einen Subzerowert als "true". Der Beispieltreiber interpretiert dies streng und interpretiert andere Werte als 1 als TRUE. Da die Laufzeit jedoch keine Überprüfung bietet, sollte der Treiber 0 als FALSE- und einen anderen Unterzerowert als TRUE-interpretieren. In diesem Zusammenhang sollte Ihr Treiber das Verhalten des bereitgestellten Beispieltreibers nicht nachahmen.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header- | d3dhal.h (einschließlich D3dhal.h) |
Siehe auch
D3DDP2OP_RENDERSTATE