Freigeben über


D3DCAPS9-Struktur (d3d9caps.h)

Stellt die Funktionen der Hardware dar, die über das Direct3D-Objekt verfügbar gemacht wird.

Syntax

typedef struct _D3DCAPS9 {
  D3DDEVTYPE        DeviceType;
  UINT              AdapterOrdinal;
  DWORD             Caps;
  DWORD             Caps2;
  DWORD             Caps3;
  DWORD             PresentationIntervals;
  DWORD             CursorCaps;
  DWORD             DevCaps;
  DWORD             PrimitiveMiscCaps;
  DWORD             RasterCaps;
  DWORD             ZCmpCaps;
  DWORD             SrcBlendCaps;
  DWORD             DestBlendCaps;
  DWORD             AlphaCmpCaps;
  DWORD             ShadeCaps;
  DWORD             TextureCaps;
  DWORD             TextureFilterCaps;
  DWORD             CubeTextureFilterCaps;
  DWORD             VolumeTextureFilterCaps;
  DWORD             TextureAddressCaps;
  DWORD             VolumeTextureAddressCaps;
  DWORD             LineCaps;
  DWORD             MaxTextureWidth;
  DWORD             MaxTextureHeight;
  DWORD             MaxVolumeExtent;
  DWORD             MaxTextureRepeat;
  DWORD             MaxTextureAspectRatio;
  DWORD             MaxAnisotropy;
  float             MaxVertexW;
  float             GuardBandLeft;
  float             GuardBandTop;
  float             GuardBandRight;
  float             GuardBandBottom;
  float             ExtentsAdjust;
  DWORD             StencilCaps;
  DWORD             FVFCaps;
  DWORD             TextureOpCaps;
  DWORD             MaxTextureBlendStages;
  DWORD             MaxSimultaneousTextures;
  DWORD             VertexProcessingCaps;
  DWORD             MaxActiveLights;
  DWORD             MaxUserClipPlanes;
  DWORD             MaxVertexBlendMatrices;
  DWORD             MaxVertexBlendMatrixIndex;
  float             MaxPointSize;
  DWORD             MaxPrimitiveCount;
  DWORD             MaxVertexIndex;
  DWORD             MaxStreams;
  DWORD             MaxStreamStride;
  DWORD             VertexShaderVersion;
  DWORD             MaxVertexShaderConst;
  DWORD             PixelShaderVersion;
  float             PixelShader1xMaxValue;
  DWORD             DevCaps2;
  float             MaxNpatchTessellationLevel;
  DWORD             Reserved5;
  UINT              MasterAdapterOrdinal;
  UINT              AdapterOrdinalInGroup;
  UINT              NumberOfAdaptersInGroup;
  DWORD             DeclTypes;
  DWORD             NumSimultaneousRTs;
  DWORD             StretchRectFilterCaps;
  D3DVSHADERCAPS2_0 VS20Caps;
  D3DPSHADERCAPS2_0 PS20Caps;
  DWORD             VertexTextureFilterCaps;
  DWORD             MaxVShaderInstructionsExecuted;
  DWORD             MaxPShaderInstructionsExecuted;
  DWORD             MaxVertexShader30InstructionSlots;
  DWORD             MaxPixelShader30InstructionSlots;
} D3DCAPS9;

Member

DeviceType

Typ: D3DDEVTYPE

Mitglied des aufgezählten D3DDEVTYPE-Typs , der angibt, welcher Ressourcentyp für die Verarbeitung von Scheitelpunkten verwendet wird.

AdapterOrdinal

Typ: UINT

Adapter, auf dem dieses Direct3D-Gerät erstellt wurde. Diese Ordnungszahl ist nur gültig, um an Methoden der IDirect3D9-Schnittstelle zu übergeben, die dieses Direct3D-Gerät erstellt hat. Die IDirect3D9-Schnittstelle kann immer durch Aufrufen von GetDirect3D abgerufen werden.

Caps

Typ: DWORD

Die folgende treiberspezifische Funktion.

Wert Bedeutung
D3DCAPS_READ_SCANLINE
Anzeigehardware kann die aktuelle Scanzeile zurückgeben.
D3DCAPS_OVERLAY
Der Anzeigetreiber unterstützt einen Überlagerungs-DDI, der die Überprüfung von Überlagerungsfunktionen ermöglicht. Weitere Informationen zum Overlay-DDI finden Sie unter Overlay DDI.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:

Dieses Flag ist nur in Direct3D 9Ex verfügbar.

 

Caps2

Typ: DWORD

Treiberspezifische Funktionen, die in D3DCAPS2 identifiziert werden.

Caps3

Typ: DWORD

Treiberspezifische Funktionen, die in D3DCAPS3 identifiziert werden.

PresentationIntervals

Typ: DWORD

Bitmaske von Werten, die darstellen, welche Präsentationstauschintervalle verfügbar sind.

Wert Bedeutung
D3DPRESENT_INTERVAL_IMMEDIATE
Der Treiber unterstützt ein sofortiges Präsentationstauschintervall.
D3DPRESENT_INTERVAL_ONE
Der Treiber unterstützt ein Präsentationstauschintervall für jede Bildschirmaktualisierung.
D3DPRESENT_INTERVAL_TWO
Der Treiber unterstützt ein Präsentationstauschintervall für jede zweite Bildschirmaktualisierung.
D3DPRESENT_INTERVAL_THREE
Der Treiber unterstützt ein Präsentationstauschintervall für jede dritte Bildschirmaktualisierung.
D3DPRESENT_INTERVAL_FOUR
Der Treiber unterstützt ein Präsentationstauschintervall für jede vierte Bildschirmaktualisierung.

CursorCaps

Typ: DWORD

Bitmaske, die angibt, welche Hardwareunterstützung für Cursor verfügbar ist. Direct3D 9 definiert keine Alpha-Blending-Cursorfunktionen.

Wert Bedeutung
D3DCURSORCAPS_COLOR
Ein Vollfarbcursor wird in der Hardware unterstützt. Insbesondere gibt dieses Flag an, dass der Treiber mindestens einen Hardwarefarbcursor in hochauflösenden Modi unterstützt (mit Scanlinien größer oder gleich 400).
D3DCURSORCAPS_LOWRES
Ein Vollfarbcursor wird in der Hardware unterstützt. Dieses Flag weist insbesondere darauf hin, dass der Treiber einen Hardwarefarbcursor sowohl im Modus mit hoher Auflösung als auch im Modus mit niedriger Auflösung unterstützt (mit Scanlinien unter 400).

DevCaps

Typ: DWORD

Flags, die die Funktionen des Geräts identifizieren.

Wert Bedeutung
D3DDEVCAPS_CANBLTSYSTONONLOCAL
Das Gerät unterstützt Blits von Systemspeichertexturen bis hin zu nichtlokalen Videospeichertexturen.
D3DDEVCAPS_CANRENDERAFTERFLIP
Geräte können Renderingbefehle nach einem Seitendrehen in die Warteschlange stellen. Anwendungen ändern ihr Verhalten nicht, wenn dieses Flag festgelegt ist. Diese Funktion bedeutet, dass das Gerät relativ schnell ist.
D3DDEVCAPS_DRAWPRIMITIVES2
Das Gerät kann mindestens einen DirectX 5-kompatiblen Treiber unterstützen.
D3DDEVCAPS_DRAWPRIMITIVES2EX
Das Gerät kann mindestens einen DirectX 7-kompatiblen Treiber unterstützen.
D3DDEVCAPS_DRAWPRIMTLVERTEX
Das Gerät exportiert eine IDirect3DDevice9::D rawPrimitive-fähige Hal.
D3DDEVCAPS_EXECUTESYSTEMMEMORY
Das Gerät kann Ausführungspuffer aus dem Systemspeicher verwenden.
D3DDEVCAPS_EXECUTEVIDEOMEMORY
Das Gerät kann Ausführungspuffer aus dem Videospeicher verwenden.
D3DDEVCAPS_HWRASTERIZATION
Das Gerät verfügt über Hardwarebeschleunigung für die Rasterung von Szenen.
D3DDEVCAPS_HWTRANSFORMANDLIGHT
Das Gerät kann transformations- und beleuchtungsbasierte Hardware unterstützen.
D3DDEVCAPS_NPATCHES
Das Gerät unterstützt N-Patches.
D3DDEVCAPS_PUREDEVICE
Das Gerät kann die Rasterung, Transformation, Beleuchtung und Schattierung in Hardware unterstützen.
D3DDEVCAPS_QUINTICRTPATCHES
Das Gerät unterstützt quintische Bézierkurven und B-Splines.
D3DDEVCAPS_RTPATCHES
Das Gerät unterstützt rechteckige und dreieckige Patches.
D3DDEVCAPS_RTPATCHHANDLEZERO
Wenn diese Gerätefunktion festgelegt ist, erfordert die Hardwarearchitektur keine Zwischenspeicherung von Informationen, und nicht zwischengespeicherte Patches (Handle Zero) werden genauso effizient wie zwischengespeicherte Patches gezeichnet. Beachten Sie, dass das Festlegen D3DDEVCAPS_RTPATCHHANDLEZERO nicht bedeutet, dass ein Patch mit handle zero gezeichnet werden kann. Ein Handle-Zero-Patch kann immer gezeichnet werden, unabhängig davon, ob diese Obergrenze festgelegt ist oder nicht.
D3DDEVCAPS_SEPARATETEXTUREMEMORIES
Das Gerät texturiert aus separaten Speicherpools.
D3DDEVCAPS_TEXTURENONLOCALVIDMEM
Das Gerät kann Texturen aus dem nicht lokalen Videospeicher abrufen.
D3DDEVCAPS_TEXTURESYSTEMMEMORY
Das Gerät kann Texturen aus dem Systemspeicher abrufen.
D3DDEVCAPS_TEXTUREVIDEOMEMORY
Das Gerät kann Texturen aus dem Gerätespeicher abrufen.
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
Das Gerät kann Puffer aus dem Systemspeicher für transformierte und beleuchtete Scheitelpunkte verwenden.
D3DDEVCAPS_TLVERTEXVIDEOMEMORY
Das Gerät kann Puffer aus dem Videospeicher für transformierte und beleuchtete Scheitelpunkte verwenden.

PrimitiveMiscCaps

Typ: DWORD

Verschiedene primitive Treiberfunktionen. Siehe D3DPMISCCAPS.

RasterCaps

Typ: DWORD

Informationen zu Rasterzeichnungsfunktionen. Bei diesem Member kann es sich um ein oder mehrere der folgenden Flags handelt.

Wert Bedeutung
D3DPRASTERCAPS_ANISOTROPY
Das Gerät unterstützt die anisotrope Filterung.
D3DPRASTERCAPS_COLORPERSPECTIVE
Das Gerät durchläuft die Farbenperspektive korrekt.
D3DPRASTERCAPS_DITHER
Das Gerät kann dither, um die Farbauflösung zu verbessern.
D3DPRASTERCAPS_DEPTHBIAS
Das Gerät unterstützt Legacy-Tiefenverzerrungen. Informationen zu true depth bias finden Sie unter D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS.
D3DPRASTERCAPS_FOGRANGE
Das Gerät unterstützt bereichsbasierten Nebel. Im bereichsbasierten Nebel wird die Entfernung eines Objekts vom Viewer verwendet, um Nebeleffekte zu berechnen, nicht die Tiefe des Objekts (d. h. die Z-Koordinate) in der Szene.
D3DPRASTERCAPS_FOGTABLE
Das Gerät berechnet den Nebelwert, indem es auf eine Nachschlagetabelle verweist, die Nebelwerte enthält, die auf die Tiefe eines bestimmten Pixels indiziert sind.
D3DPRASTERCAPS_FOGVERTEX
Das Gerät berechnet den Nebelwert während des Beleuchtungsvorgangs und interpoliert den Nebelwert während der Rasterung.
D3DPRASTERCAPS_MIPMAPLODBIAS
Das Gerät unterstützt Anpassungen von Verzerrungen im Detail. Diese Verzerrungsanpassungen ermöglichen es einer Anwendung, eine Mipmap schärfer oder weniger scharf als normalerweise erscheinen zu lassen. Weitere Informationen zum Grad-of-Detail-Bias in mipmaps finden Sie unter D3DSAMP_MIPMAPLODBIAS.
D3DPRASTERCAPS_MULTISAMPLE_TOGGLE
Das Gerät unterstützt das Ein- und Ausschalten von Multisampling zwischen IDirect3DDevice9::BeginScene und IDirect3DDevice9::EndScene (mit D3DRS_MULTISAMPLEANTIALIAS).
D3DPRASTERCAPS_SCISSORTEST
Gerät unterstützt Scissor-Tests. Siehe Scherentest (Direct3D 9).
D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS
Das Gerät führt eine echte, auf Neigungsskalierung basierende Tiefenverzerrung aus. Dies steht im Gegensatz zur Verzerrung der älteren Stiltiefe.
D3DPRASTERCAPS_WBUFFER
Das Gerät unterstützt die Tiefenpufferung mit w.
D3DPRASTERCAPS_WFOG
Das Gerät unterstützt w-basiertes Nebel. W-basierte Nebel wird verwendet, wenn eine perspektivische Projektionsmatrix angegeben wird, aber affine Projektionen verwenden weiterhin z-basierten Nebel. Das System betrachtet eine Projektionsmatrix, die einen nonzero-Wert im [3][4]-Element enthält, als perspektivische Projektionsmatrix.
D3DPRASTERCAPS_ZBUFFERLESSHSR
Das Gerät kann das Entfernen von verborgenen Oberflächen (Hidden Surface Removal, HSR) durchführen, ohne dass die Anwendung Polygone sortieren muss und ohne dass die Zuordnung eines Tiefenpuffers erforderlich ist. Dadurch bleibt mehr Videospeicher für Texturen übrig. Die zum Ausführen von HSR verwendete Methode ist hardwareabhängig und für die Anwendung transparent.

Das hsR ohne Z-Puffer wird ausgeführt, wenn der Rendering-Zieloberfläche keine Tiefenpufferoberfläche zugeordnet ist und der Tiefenpuffervergleichstest aktiviert ist (d. h. wenn der der D3DRS_ZENABLE Enumerationskonstante zugeordnete Zustandswert auf TRUE festgelegt ist).

D3DPRASTERCAPS_ZFOG
Das Gerät unterstützt z-basierte Nebel.
D3DPRASTERCAPS_ZTEST
Das Gerät kann Z-Test-Vorgänge ausführen. Dadurch wird effektiv ein Primitive gerendert und gibt an, ob Z-Pixel gerendert wurden.

ZCmpCaps

Typ: DWORD

Z-Puffer-Vergleichsfunktionen. Bei diesem Member kann es sich um ein oder mehrere der folgenden Flags handelt.

Wert Bedeutung
D3DPCMPCAPS_ALWAYS
Bestehen Sie immer den z-Test.
D3DPCMPCAPS_EQUAL
Bestehen Sie den z-Test, wenn das neue z dem aktuellen z entspricht.
D3DPCMPCAPS_GREATER
Bestehen Sie den z-Test, wenn das neue z größer als das aktuelle z ist.
D3DPCMPCAPS_GREATEREQUAL
Bestehen Sie den z-Test, wenn das neue z größer oder gleich dem aktuellen z ist.
D3DPCMPCAPS_LESS
Bestehen Sie den z-Test, wenn das neue z kleiner als das aktuelle z ist.
D3DPCMPCAPS_LESSEQUAL
Bestehen Sie den z-Test, wenn das neue z kleiner oder gleich dem aktuellen z ist.
D3DPCMPCAPS_NEVER
Fehler beim z-Test immer.
D3DPCMPCAPS_NOTEQUAL
Bestehen Sie den z-Test, wenn das neue z nicht dem aktuellen z entspricht.

SrcBlendCaps

Typ: DWORD

Funktionen für die Quellenmischung. Bei diesem Member kann es sich um ein oder mehrere der folgenden Flags handelt. (Die RGBA-Werte der Quelle und des Ziels werden durch die Subscripts s und d angegeben.)

Wert Bedeutung
D3DPBLENDCAPS_BLENDFACTOR
Der Treiber unterstützt sowohl D3DBLEND_BLENDFACTOR als auch D3DBLEND_INVBLENDFACTOR. Siehe D3DBLEND.
D3DPBLENDCAPS_BOTHINVSRCALPHA
Quellmischungsfaktor ist (1 - As, 1 - As, 1 - As, 1 - As) und Zielmischungsfaktor (As, As, As, As); die Zielmischungsauswahl wird überschrieben.
D3DPBLENDCAPS_BOTHSRCALPHA
Der Treiber unterstützt den D3DBLEND_BOTHSRCALPHA-Mischmodus. (Dieser Mischmodus ist veraltet. Weitere Informationen finden Sie unter D3DBLEND.)
D3DPBLENDCAPS_DESTALPHA
Mischfaktor ist (Ad, Ad, Ad, Ad).
D3DPBLENDCAPS_DESTCOLOR
Mischfaktor ist (Rd, Gd, Bd, Ad).
D3DPBLENDCAPS_INVDESTALPHA
Mischfaktor ist (1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad).
D3DPBLENDCAPS_INVDESTCOLOR
Mischfaktor ist (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad).
D3DPBLENDCAPS_INVSRCALPHA
Mischfaktor ist (1 - As, 1 - As, 1 - As, 1 - As).
D3DPBLENDCAPS_INVSRCCOLOR
Mischfaktor ist (1 - Rs, 1 - Gs, 1 - Bs, 1 - As).
D3DPBLENDCAPS_INVSRCCOLOR2
Der Blendfaktor ist (1 – PSOutColor[1]r, 1 – PSOutColor[1]g, 1 – PSOutColor[1]b, nicht verwendet)). Weitere Informationen finden Sie unter Rendern von Zielmischungen.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:

Dieses Flag ist nur in Direct3D 9Ex verfügbar.

 
D3DPBLENDCAPS_ONE
Mischfaktor ist (1, 1, 1, 1).
D3DPBLENDCAPS_SRCALPHA
Der Mischfaktor ist (As, As, As, As).
D3DPBLENDCAPS_SRCALPHASAT
Mischfaktor ist (f, f, f, 1); f = min(As, 1 - Ad).
D3DPBLENDCAPS_SRCCOLOR
Mischfaktor ist (Rs, Gs, Bs, As).
D3DPBLENDCAPS_SRCCOLOR2
Der Blendfaktor ist (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, nicht verwendet). Weitere Informationen finden Sie unter Rendern von Zielmischungen.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:

Dieses Flag ist nur in Direct3D 9Ex verfügbar.

 
D3DPBLENDCAPS_ZERO
Der Mischfaktor ist (0, 0, 0, 0).

DestBlendCaps

Typ: DWORD

Funktionen für die Zielmischung. Dieser Member kann dieselben Funktionen sein, die für das SrcBlendCaps-Element definiert sind.

AlphaCmpCaps

Typ: DWORD

Alphatestvergleichsfunktionen. Dieses Element kann dieselben Funktionsflags enthalten, die für das ZCmpCaps-Element definiert sind. Wenn dieses Element nur die D3DPCMPCAPS_ALWAYS-Funktion oder nur die D3DPCMPCAPS_NEVER-Funktion enthält, unterstützt der Treiber keine Alphatests. Andernfalls identifizieren die Flags die einzelnen Vergleiche, die für Alphatests unterstützt werden.

ShadeCaps

Typ: DWORD

Funktionen für Schattierungsvorgänge. Es wird im Allgemeinen davon ausgegangen, dass ein Gerät, wenn es einen bestimmten Befehl überhaupt unterstützt, den D3DSHADE_FLAT-Modus unterstützt (wie im aufgezählten D3DSHADEMODE-Typ angegeben). Dieses Flag gibt an, ob der Treiber auch Gouraud-Schattierung unterstützen kann und ob Alphafarbkomponenten unterstützt werden. Wenn Alphakomponenten nicht unterstützt werden, ist der Alphawert der generierten Farben implizit 255. Dies ist die maximal mögliche Alpha (d. a. die Alphakomponente hat die volle Intensität).

Die Farb-, Spiegel-, Nebel- und Alpha-Interpolanten eines Dreiecks verfügen jeweils über Funktionsflags, mit denen eine Anwendung herausfinden kann, wie sie vom Gerätetreiber implementiert werden.

Bei diesem Member kann es sich um ein oder mehrere der folgenden Flags handelt.

Wert Bedeutung
D3DPSHADECAPS_ALPHAGOURAUDBLEND
Das Gerät kann eine Alphakomponente für gouraud-blended transparency unterstützen (der D3DSHADE_GOURAUD Zustand für den aufgezählten D3DSHADEMODE-Typ). In diesem Modus wird die Alphafarbkomponente eines Grundtyps an Scheitelpunkten bereitgestellt und zusammen mit den anderen Farbkomponenten über ein Gesicht interpoliert.
D3DPSHADECAPS_COLORGOURAUDRGB
Das Gerät kann farbige Gouraud-Schattierung unterstützen. In diesem Modus werden die Farbkomponenten pro Vertex (rot, grün und blau) über eine Dreiecksfläche interpoliert.
D3DPSHADECAPS_FOGGOURAUD
Das Gerät kann Nebel im Gouraud-Schattierungsmodus unterstützen.
D3DPSHADECAPS_SPECULARGOURAUDRGB
Das Gerät unterstützt die Gouraud-Schattierung von Spiegellichter.

TextureCaps

Typ: DWORD

Verschiedene Funktionen zur Texturzuordnung. Bei diesem Member kann es sich um ein oder mehrere der folgenden Flags handelt.

Wert Bedeutung
D3DPTEXTURECAPS_ALPHA
Alpha in Texturpixeln wird unterstützt.
D3DPTEXTURECAPS_ALPHAPALETTE
Das Gerät kann Alpha aus Texturpaletten zeichnen.
D3DPTEXTURECAPS_CUBEMAP
Unterstützt Cubetexturen.
D3DPTEXTURECAPS_CUBEMAP_POW2
Das Gerät erfordert, dass Cubetexturzuordnungen Dimensionen mit zwei Kräften angegeben haben.
D3DPTEXTURECAPS_MIPCUBEMAP
Das Gerät unterstützt mipmapped Cubetexturen.
D3DPTEXTURECAPS_MIPMAP
Das Gerät unterstützt mipmappenfähige Texturen.
D3DPTEXTURECAPS_MIPVOLUMEMAP
Das Gerät unterstützt mipmappenfähige Volumetexturen.
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
D3DPTEXTURECAPS_POW2 ebenfalls festgelegt ist, unterstützt bedingt die Verwendung von 2D-Texturen mit Dimensionen, die keine Zweimächte sind. Ein Gerät, das diese Funktion verfügbar macht, kann eine solche Textur verwenden, wenn alle folgenden Anforderungen erfüllt sind.
  • Der Texturadressierungsmodus für die Texturphase ist auf D3DTADDRESS_CLAMP festgelegt.
  • Texturumbruch für die Texturphase ist deaktiviert (D3DRS_WRAP n auf 0 festgelegt).
  • Mipmapping wird nicht verwendet (nur Vergrößerungsfilter verwenden).
  • Texturformate dürfen nicht über D3DFMT_DXT5 D3DFMT_DXT1 werden.

Wenn dieses Flag nicht festgelegt ist und D3DPTEXTURECAPS_POW2 auch nicht festgelegt ist, wird bedingungslose Unterstützung für 2D-Texturen mit Dimensionen bereitgestellt, die keine Zweimächte sind.

Eine Textur, die keine Macht von zwei ist, kann nicht in einer Phase festgelegt werden, die basierend auf einer Shaderberechnung gelesen wird (z. B. die Anweisungen bem - ps und texm3x3 - ps in Pixel-Shaderversionen 1_0 bis 1_3). Diese Texturen können beispielsweise verwendet werden, um Unebenheiten zu speichern, die in Texturlesevorgänge eingespeist werden, aber nicht die Umgebungszuordnungen, die in texbem - ps, texbeml - ps und texm3x3spec - ps verwendet werden. Dies bedeutet, dass eine Textur mit Dimensionen, die keine Zweikräfte sind, nicht mithilfe von Texturkoordinaten, die im Shader berechnet werden, behandelt oder abgetastet werden kann. Diese Art von Vorgang wird als abhängiger Lesevorgang bezeichnet und kann für diese Arten von Texturen nicht ausgeführt werden.

D3DPTEXTURECAPS_NOPROJECTEDBUMPENV
Das Gerät unterstützt keine projizierte Bump-Umgebungssuche in programmierbaren und festen Funktionsshadern.
D3DPTEXTURECAPS_PERSPECTIVE
Die Texturierung der Perspektivkorrektur wird unterstützt.
D3DPTEXTURECAPS_POW2
Wenn D3DPTEXTURECAPS_NONPOW2CONDITIONAL nicht festgelegt ist, müssen alle Texturen breiten und höhen als Zweikräfte angegeben sein. Diese Anforderung gilt weder für Cubetexturen noch für Volumentexturen.

Wenn D3DPTEXTURECAPS_NONPOW2CONDITIONAL ebenfalls festgelegt ist, unterstützt bedingt die Verwendung von 2D-Texturen mit Dimensionen, die keine Zweikräfte sind. Siehe D3DPTEXTURECAPS_NONPOW2CONDITIONAL Beschreibung.

Wenn dieses Flag nicht festgelegt ist und D3DPTEXTURECAPS_NONPOW2CONDITIONAL auch nicht festgelegt ist, wird bedingungslose Unterstützung für 2D-Texturen mit Dimensionen bereitgestellt, die keine Zweimächte sind.

D3DPTEXTURECAPS_PROJECTED
Unterstützt das D3DTTFF_PROJECTED Texturtransformationsflag. Beim Anwenden teilt das Gerät transformierte Texturkoordinaten durch die letzte Texturkoordinate. Wenn diese Funktion vorhanden ist, tritt die projektive Aufteilung pro Pixel auf. Wenn diese Funktion nicht vorhanden ist, aber die projektive Aufteilung trotzdem auftreten muss, wird sie von der Direct3D-Runtime auf Vertexbasis ausgeführt.
D3DPTEXTURECAPS_SQUAREONLY
Alle Texturen müssen quadratisch sein.
D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE
Texturindizes werden nicht nach der Texturgröße vor der Interpolation skaliert.
D3DPTEXTURECAPS_VOLUMEMAP
Das Gerät unterstützt Volumetexturen.
D3DPTEXTURECAPS_VOLUMEMAP_POW2
Das Gerät erfordert, dass für Volumentexturzuordnungen zwei Dimensionen angegeben sind.

TextureFilterCaps

Typ: DWORD

Texturfilterungsfunktionen für eine Textur. Die Filterfunktionen pro Stufe geben an, welche Filtermodi für Texturphasen beim Mischen mehrerer Texturen unterstützt werden. Dieser Member kann eine beliebige Kombination der in D3DPTFILTERCAPS definierten Texturfilterflags pro Phase sein.

CubeTextureFilterCaps

Typ: DWORD

Texturfilterungsfunktionen für eine Würfeltextur. Die Filterfunktionen pro Stufe geben an, welche Filtermodi für Texturphasen beim Mischen mehrerer Texturen unterstützt werden. Dieser Member kann eine beliebige Kombination der in D3DPTFILTERCAPS definierten Texturfilterflags pro Phase sein.

VolumeTextureFilterCaps

Typ: DWORD

Texturfilterungsfunktionen für eine Volumetextur. Die Filterfunktionen pro Stufe geben an, welche Filtermodi für Texturphasen beim Mischen mehrerer Texturen unterstützt werden. Dieser Member kann eine beliebige Kombination der in D3DPTFILTERCAPS definierten Texturfilterflags pro Phase sein.

TextureAddressCaps

Typ: DWORD

Texturadressierungsfunktionen für Texturobjekte. Bei diesem Member kann es sich um ein oder mehrere der folgenden Flags handelt.

Wert Bedeutung
D3DPTADDRESSCAPS_BORDER
Das Gerät unterstützt das Festlegen von Koordinaten außerhalb des Bereichs [0.0, 1.0] auf die Rahmenfarbe, wie durch den D3DSAMP_BORDERCOLOR Texturphasenzustand angegeben.
D3DPTADDRESSCAPS_CLAMP
Das Gerät kann Texturen an Adressen klammern.
D3DPTADDRESSCAPS_INDEPENDENTUV
Das Gerät kann die Textur-Adressierungsmodi der You- und v-Koordinaten der Textur trennen. Diese Fähigkeit entspricht den D3DSAMP_ADDRESSU- und D3DSAMP_ADDRESSV Renderzustandswerten.
D3DPTADDRESSCAPS_MIRROR
Das Gerät kann Texturen zu Adressen Spiegel.
D3DPTADDRESSCAPS_MIRRORONCE
Das Gerät kann den absoluten Wert der Texturkoordinate (d. h. spiegelung um 0) übernehmen und dann auf den maximalen Wert klemmen.
D3DPTADDRESSCAPS_WRAP
Das Gerät kann Texturen in Adressen umschließen.

VolumeTextureAddressCaps

Typ: DWORD

Texturadressierungsfunktionen für eine Volumetextur. Bei diesem Member kann es sich um ein oder mehrere der flags handeln, die für das TextureAddressCaps-Element definiert sind.

LineCaps

Typ: DWORD

Definiert die Funktionen für Linienzeichnungsgrundtypen.

Wert Bedeutung
D3DLINECAPS_ALPHACMP
Unterstützt Alphatestvergleiche.
D3DLINECAPS_ANTIALIAS
Antialiasierte Linien werden unterstützt.
D3DLINECAPS_BLEND
Unterstützt die Quellmischung.
D3DLINECAPS_FOG
Unterstützt Nebel.
D3DLINECAPS_TEXTURE
Unterstützt texturbasierte Zuordnung.
D3DLINECAPS_ZTEST
Unterstützt Z-Puffervergleiche.

MaxTextureWidth

Typ: DWORD

Maximale Texturbreite für dieses Gerät.

MaxTextureHeight

Typ: DWORD

Maximale Texturhöhe für dieses Gerät.

MaxVolumeExtent

Typ: DWORD

Maximaler Wert für eine der drei Dimensionen (Breite, Höhe und Tiefe) einer Volumentextur.

MaxTextureRepeat

Typ: DWORD

Diese Zahl stellt den maximalen Bereich der ganzzahligen Bits der postnormalisierten Texturkoordinaten dar. Eine Texturkoordinate wird als 32-Bit-Ganzzahl mit Vorzeichen gespeichert, wobei 27 Bits zum Speichern des Ganzzahlteils und 5 Bits für den Gleitkommabruch verwendet werden. Der maximale ganzzahlige Index von 2²⁷ wird verwendet, um die maximale Texturkoordinate zu bestimmen, je nachdem, wie die Hardware die Texturkoordinatenskalierung durchführt.

Einige Hardware meldet die Obergrenze D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE. In diesem Fall verschiebt das Gerät die Skalierungstexturkoordinaten nach der Texturgröße bis nach der Interpolation und Anwendung des Texturadressmodus, sodass die Häufigkeit, mit der eine Textur umschlossen werden kann, durch den ganzzahligen Wert in MaxTextureRepeat angegeben wird.

Weniger erwünscht ist, dass auf einigen Hardware-D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE nicht festgelegt ist und das Gerät die Texturkoordinaten vor der Interpolation anhand der Texturgröße (mit der höchsten Detailebene) skaliert. Dies begrenzt die Häufigkeit, mit der eine Textur in MaxTextureRepeat/Texturgröße umschlossen werden kann.

Angenommen, MaxTextureRepeat ist gleich 32.000 und die Texturgröße beträgt 4.000. Wenn die Hardware D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE festlegt, ist die Anzahl der Umschließungen einer Textur gleich MaxTextureRepeat, was in diesem Beispiel 32.000 beträgt. Andernfalls ist die Anzahl der Umschließungen einer Textur gleich MaxTextureRepeat dividiert durch Texturgröße, die in diesem Beispiel 32k/4k beträgt.

MaxTextureAspectRatio

Typ: DWORD

Maximales Texturseitenverhältnis, das von der Hardware unterstützt wird, in der Regel eine Leistung von 2.

MaxAnisotropy

Typ: DWORD

Maximal gültiger Wert für den D3DSAMP_MAXANISOTROPY Texturphasenzustand.

MaxVertexW

Typ: float

Maximaler W-basierter Tiefenwert, der vom Gerät unterstützt wird.

GuardBandLeft

Typ: float

Bildschirmraumkoordinate des Guard-Band-Clipping-Bereichs. Koordinaten innerhalb dieses Rechtecks, aber außerhalb des Viewportrechtecks werden automatisch abgeschnitten.

GuardBandTop

Typ: float

Bildschirmraumkoordinate des Guard-Band-Clipping-Bereichs. Koordinaten innerhalb dieses Rechtecks, aber außerhalb des Viewportrechtecks werden automatisch abgeschnitten.

GuardBandRight

Typ: float

Bildschirmraumkoordinate des Guard-Band-Clipping-Bereichs. Koordinaten innerhalb dieses Rechtecks, aber außerhalb des Viewportrechtecks werden automatisch abgeschnitten.

GuardBandBottom

Typ: float

Bildschirmraumkoordinate des Guard-Band-Clipping-Bereichs. Koordinaten innerhalb dieses Rechtecks, aber außerhalb des Viewportrechtecks werden automatisch abgeschnitten.

ExtentsAdjust

Typ: float

Anzahl von Pixeln zum Anpassen des Blöckesrechtecks nach außen, um Antialiasingkerne aufzunehmen.

StencilCaps

Typ: DWORD

Flags, die unterstützte Schablonenpuffervorgänge angeben. Es wird angenommen, dass Schablonenvorgänge für alle drei Renderzustände des Schablonenpuffervorgangs (D3DRS_STENCILFAIL, D3DRS_STENCILPASS und D3DRS_STENCILZFAIL) gültig sind.

Weitere Informationen finden Sie unter D3DSTENCILCAPS.

FVFCaps

Typ: DWORD

Flexible Vertexformatfunktionen.

Wert Bedeutung
D3DFVFCAPS_DONOTSTRIPELEMENTS
Es ist vorzuziehen, dass Vertexelemente nicht entfernt werden. Das heißt, wenn das Vertexformat Elemente enthält, die nicht mit den aktuellen Renderzuständen verwendet werden, müssen die Scheitelpunkte nicht neu generiert werden. Wenn dieses Funktionsflag nicht vorhanden ist, bietet das Entfernen von zusätzlichen Elementen aus dem Vertexformat eine bessere Leistung.
D3DFVFCAPS_PSIZE
Die Punktgröße wird entweder durch den Renderzustand oder die Scheitelpunktdaten bestimmt. Wenn ein FVF verwendet wird, kann die Punktgröße aus Punktgrößendaten in der Vertexdeklaration stammen. Andernfalls wird die Punktgröße durch den Renderzustand D3DRS_POINTSIZE bestimmt. Wenn die Anwendung die Punktgröße sowohl in dem Renderzustand als auch in der Vertexdeklaration bereitstellt, überschreiben die Vertexdaten die Renderzustandsdaten.
D3DFVFCAPS_TEXCOORDCOUNTMASK
Maskiert das niedrige WORD von FVFCaps. Diese Bits, die in den WORD-Datentyp umgewandelt werden, beschreiben die Gesamtzahl der Texturkoordinatensätze, die das Gerät gleichzeitig für mehrere Texturmischungen verwenden kann. (Sie können bis zu acht Texturkoordinatensätze für jeden Scheitelpunkt verwenden, aber das Gerät kann nur mit der angegebenen Anzahl von Texturkoordinatensätzen mischen.)

TextureOpCaps

Typ: DWORD

Kombination von Flags, die die von diesem Gerät unterstützten Texturvorgänge beschreiben. Die folgenden Flags werden definiert.

Wert Bedeutung
D3DTEXOPCAPS_ADD
Der D3DTOP_ADD Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_ADDSIGNED
Der D3DTOP_ADDSIGNED Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_ADDSIGNED2X
Der D3DTOP_ADDSIGNED2X Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_ADDSMOOTH
Der D3DTOP_ADDSMOOTH Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_BLENDCURRENTALPHA
Der D3DTOP_BLENDCURRENTALPHA Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_BLENDDIFFUSEALPHA
Der D3DTOP_BLENDDIFFUSEALPHA Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_BLENDFACTORALPHA
Der D3DTOP_BLENDFACTORALPHA Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_BLENDTEXTUREALPHA
Der D3DTOP_BLENDTEXTUREALPHA Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM
Der D3DTOP_BLENDTEXTUREALPHAPM Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_BUMPENVMAP
Der D3DTOP_BUMPENVMAP Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE
Der D3DTOP_BUMPENVMAPLUMINANCE Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_DISABLE
Der D3DTOP_DISABLE Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_DOTPRODUCT3
Der D3DTOP_DOTPRODUCT3 Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_LERP
Der D3DTOP_LERP Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_MODULATE
Der D3DTOP_MODULATE Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_MODULATE2X
Der D3DTOP_MODULATE2X Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_MODULATE4X
Der D3DTOP_MODULATE4X Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR
Der D3DTOP_MODULATEALPHA_ADDCOLOR Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA
Der D3DTOP_MODULATECOLOR_ADDALPHA Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR
Der D3DTOP_MODULATEINVALPHA_ADDCOLOR Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA
Der D3DTOP_MODULATEINVCOLOR_ADDALPHA Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_MULTIPLYADD
Der D3DTOP_MULTIPLYADD Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_PREMODULATE
Der D3DTOP_PREMODULATE Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_SELECTARG1
Der D3DTOP_SELECTARG1 Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_SELECTARG2
Der D3DTOP_SELECTARG2 Textur-Blending-Vorgang wird unterstützt.
D3DTEXOPCAPS_SUBTRACT
Der D3DTOP_SUBTRACT Textur-Blending-Vorgang wird unterstützt.

MaxTextureBlendStages

Typ: DWORD

Die maximale Anzahl von Texture-Blending-Phasen, die in der festen Funktionspipeline unterstützt werden. Dieser Wert ist die Anzahl der verfügbaren Blender. In der programmierbaren Pixelpipeline entspricht dies der Anzahl eindeutiger Texturregister, die von Pixel-Shaderanweisungen verwendet werden.

MaxSimultaneousTextures

Typ: DWORD

Maximale Anzahl von Texturen, die gleichzeitig an die Pipeline-Samplerphasen mit festen Funktionen gebunden werden können. Wenn dieselbe Textur an zwei Samplerstufen gebunden ist, zählt sie als zwei Texturen.

Dieser Wert hat keine Bedeutung in der programmierbaren Pipeline, in der die Anzahl der Samplerphasen von jeder Pixel-Shaderversion bestimmt wird. Jede Pixel-Shaderversion bestimmt auch die Anzahl der Texturdeklarationsanweisungen. Siehe Pixel-Shader.

VertexProcessingCaps

Typ: DWORD

Vertexverarbeitungsfunktionen. Für ein bestimmtes physisches Gerät kann diese Funktion von Direct3D-Geräten abhängig von den parametern variieren, die für CreateDevice bereitgestellt werden. Siehe D3DVTXPCAPS.

MaxActiveLights

Typ: DWORD

Maximale Anzahl von Leuchten, die gleichzeitig aktiv sein können. Für ein bestimmtes physisches Gerät kann diese Funktion von Direct3D-Geräten abhängig von den parametern variieren, die für CreateDevice bereitgestellt werden.

MaxUserClipPlanes

Typ: DWORD

Maximale Anzahl der unterstützten benutzerdefinierten Abschneideebenen. Dieses Element kann 0 sein. Für ein bestimmtes physisches Gerät kann diese Funktion von Direct3D-Geräten abhängig von den parametern variieren, die für CreateDevice bereitgestellt werden.

MaxVertexBlendMatrices

Typ: DWORD

Die maximale Anzahl von Matrizen, die dieses Gerät anwenden kann, wenn multimatrix vertex blending ausgeführt wird. Für ein bestimmtes physisches Gerät kann diese Funktion von Direct3D-Geräten abhängig von den parametern variieren, die für CreateDevice bereitgestellt werden.

MaxVertexBlendMatrixIndex

Typ: DWORD

DWORD-Wert, der den maximalen Matrixindex angibt, in den mithilfe der Pro-Vertex-Indizes indiziert werden kann. Die Anzahl der Matrizen ist MaxVertexBlendMatrixIndex + 1, was der Größe der Matrixpalette entspricht. Wenn Normalwerte in den Scheitelpunktdaten vorhanden sind, die für die Beleuchtung gemischt werden müssen, ist die Anzahl der Matrizen halb so viele wie durch dieses Funktionsflag angegebene Zahl. Wenn MaxVertexBlendMatrixIndex auf 0 festgelegt ist, unterstützt der Treiber keine indizierte Vertex-Blending. Wenn dieser Wert nicht 0 ist, ist der gültige Indizesbereich 0 über MaxVertexBlendMatrixIndex.

Ein Nullwert für MaxVertexBlendMatrixIndex gibt an, dass der Treiber keine indizierten Matrizen unterstützt.

Bei Verwendung der Softwarevertexverarbeitung können 256 Matrizen für die indizierte Vertexmischung mit oder ohne normales Mischen verwendet werden.

Für ein bestimmtes physisches Gerät kann diese Funktion von Direct3D-Geräten abhängig von den parametern variieren, die für CreateDevice bereitgestellt werden.

MaxPointSize

Typ: float

Maximale Größe eines Punktgrundtyps. Wenn auf 1.0f festgelegt ist, unterstützt das Gerät keine Punktgrößensteuerung. Der Bereich ist größer oder gleich 1,0f.

MaxPrimitiveCount

Typ: DWORD

Maximale Anzahl von Grundtypen für jeden DrawPrimitive-Aufruf . Es gibt zwei Fälle:

  • Wenn MaxPrimitiveCount nicht gleich 0xffff ist, können Sie maximal MaxPrimitiveCount-Primitive mit jedem Draw-Aufruf zeichnen.
  • Wenn MaxPrimitiveCount jedoch 0xffff entspricht, können Sie immer noch maximal MaxPrimitiveCount primitiv zeichnen, aber Sie können auch nicht mehr als eindeutige Scheitelpunkte von MaxPrimitiveCount verwenden (da jeder Primitive möglicherweise drei verschiedene Scheitelpunkte verwenden kann).

MaxVertexIndex

Typ: DWORD

Maximale Größe von Indizes, die für die Hardwarevertexverarbeitung unterstützt werden. Es ist möglich, 32-Bit-Indexpuffer zu erstellen. Sie können jedoch nicht mit dem Indexpuffer rendern, es sei denn, dieser Wert ist größer als 0x0000FFFF.

MaxStreams

Typ: DWORD

Maximale Anzahl gleichzeitiger Datenströme für SetStreamSource. Der gültige Bereich ist 1 bis 16. Beachten Sie, dass der Treiber kein Direct3D 9-Treiber ist, wenn dieser Wert 0 ist.

MaxStreamStride

Typ: DWORD

Maximaler Schritt für SetStreamSource.

VertexShaderVersion

Typ: DWORD

Zwei Zahlen, die den Vertex-Shader Standard und Unterversionen darstellen. Weitere Informationen zu den Anweisungen, die für jede Vertex-Shaderversion unterstützt werden, finden Sie unter Version 1_x, Version 2_0, Version 2_0 Extended oder Version 3_0.

MaxVertexShaderConst

Typ: DWORD

Die Anzahl der Vertex-Shader-Vertex-Shaderregister , die für Konstanten reserviert sind.

PixelShaderVersion

Typ: DWORD

Zwei Zahlen, die den Pixel-Shader Standard und Unterversionen darstellen. Weitere Informationen zu den Anweisungen, die für jede Pixel-Shaderversion unterstützt werden, finden Sie unter Version 1_x, Version 2_0, Version 2_0 Extended oder Version 3_0.

PixelShader1xMaxValue

Typ: float

Maximaler Wert der arithmetischen Komponente des Pixel-Shaders. Dieser Wert gibt den internen Wertebereich an, der für Pixelfarbmischungsvorgänge unterstützt wird. Innerhalb des Bereichs, an den sie berichten, müssen Implementierungen zulassen, dass Daten die Pixelverarbeitung unverändert (unclamped) durchlaufen können. Normalerweise ist der Wert dieses Members ein absoluter Wert. Ein 1,0 gibt beispielsweise an, dass der Bereich -1,0 bis 1 ist, und ein 8,0 gibt an, dass der Bereich -8,0 bis 8,0 ist. Der Wert muss für jede Hardware, die Pixel-Shader unterstützt, = 1,0 sein >.

DevCaps2

Typ: DWORD

Gerätetreiberfunktionen für adaptive Tessellation. Weitere Informationen finden Sie unter D3DDEVCAPS2.

MaxNpatchTessellationLevel

TBD

Reserved5

TBD

MasterAdapterOrdinal

Typ: UINT

Diese Zahl gibt an, welches Gerät das master für diesen Untergeordneten ist. Diese Zahl wird aus demselben Raum wie die Adapterwerte entnommen.

Für die Unterstützung mit mehreren Köpfen wird ein Kopf als master Kopf bezeichnet, und alle anderen Köpfe auf demselben Karte werden als untergeordnete Köpfe bezeichnet. Wenn mehr als ein Mehrkopfadapter in einem System vorhanden ist, werden die master und ihre Untergeordneten aus einem Multiheadadapter als Gruppe bezeichnet.

AdapterOrdinalInGroup

Typ: UINT

Diese Zahl gibt die Reihenfolge an, in der von der API auf Köpfe verwiesen wird. Der Wert für den master-Adapter ist immer 0. Diese Werte entsprechen nicht den Adapter ordinalen. Sie gelten nur für Köpfe innerhalb einer Gruppe.

NumberOfAdaptersInGroup

Typ: UINT

Die Anzahl der Adapter in dieser Adaptergruppe (nur, wenn master). Dies ist 1 für herkömmliche Adapter. Der Wert ist größer als 1 für den master Adapter eines mehrstufigen Karte. Der Wert ist 0 für einen untergeordneten Adapter eines mehrkopfigen Karte. Jede Karte kann höchstens einen master, aber möglicherweise viele Untergeordnete haben.

DeclTypes

Typ: DWORD

Eine Kombination aus einem oder mehreren Datentypen, die in einer Scheitelpunktdeklaration enthalten sind. Siehe D3DDTCAPS.

NumSimultaneousRTs

Typ: DWORD

Anzahl gleichzeitiger Renderziele. Diese Zahl muss mindestens eins sein.

StretchRectFilterCaps

Typ: DWORD

Kombination von Konstanten, die die von StretchRect unterstützten Vorgänge beschreiben. Die Flags, die in diesem Feld festgelegt werden können, sind:

Dauerhaft BESCHREIBUNG
D3DPTFILTERCAPS_MINFPOINT Das Gerät unterstützt die Punktbeispielfilterung zum Minimieren von Rechtecken. Dieser Filtertyp wird angefordert, indem StretchRect mithilfe von D3DTEXF_POINT aufgerufen wird.
D3DPTFILTERCAPS_MAGFPOINT Das Gerät unterstützt die Punktbeispielfilterung zum Vergrößern von Rechtecken. Dieser Filtertyp wird angefordert, indem StretchRect mithilfe von D3DTEXF_POINT aufgerufen wird.
D3DPTFILTERCAPS_MINFLINEAR Das Gerät unterstützt die bilineare Interpolationsfilterung, um Rechtecke zu minimieren. Dieser Filtertyp wird angefordert, indem StretchRect mithilfe von D3DTEXF_LINEAR aufgerufen wird.
D3DPTFILTERCAPS_MAGFLINEAR Das Gerät unterstützt die bilineare Interpolationsfilterung zum Vergrößern von Rechtecken. Dieser Filtertyp wird angefordert, indem StretchRect mithilfe von D3DTEXF_LINEAR aufgerufen wird.
 

Weitere Informationen finden Sie unter D3DTEXTUREFILTERTYPE und D3DTEXTUREFILTERTYPE.

VS20Caps

Typ: D3DVSHADERCAPS2_0

Das Gerät unterstützt die erweiterte Funktion Vertex-Shader version 2_0. Siehe D3DVSHADERCAPS2_0.

PS20Caps

Typ: D3DPSHADERCAPS2_0

Das Gerät unterstützt die erweiterte Funktion pixel shader Version 2_0. Siehe D3DPSHADERCAPS2_0.

VertexTextureFilterCaps

Typ: DWORD

Das Gerät unterstützt die Texturfilterfunktion für Vertex-Shader. Siehe D3DPTFILTERCAPS.

MaxVShaderInstructionsExecuted

Typ: DWORD

Maximale Anzahl von Vertex-Shaderanweisungen, die bei Verwendung der Flusssteuerung ausgeführt werden können. Die maximale Anzahl von Anweisungen, die programmiert werden können, ist MaxVertexShader30InstructionSlots.

MaxPShaderInstructionsExecuted

Typ: DWORD

Maximale Anzahl von Pixel-Shaderanweisungen, die bei Verwendung der Flusssteuerung ausgeführt werden können. Die maximale Anzahl von Anweisungen, die programmiert werden können, ist MaxPixelShader30InstructionSlots.

MaxVertexShader30InstructionSlots

Typ: DWORD

Maximale Anzahl der unterstützten Scheitelpunkt-Shader-Befehlsslots. Der maximale Wert, der für diese Obergrenze festgelegt werden kann, ist 32768. Geräte, die vs_3_0 unterstützen, müssen mindestens 512 Anweisungsslots unterstützen.

MaxPixelShader30InstructionSlots

Typ: DWORD

Maximale Anzahl unterstützter Pixel-Shader-Anweisungsslots. Der maximale Wert, der für diese Obergrenze festgelegt werden kann, ist 32768. Geräte, die ps_3_0 unterstützen, müssen mindestens 512 Anweisungsslots unterstützen.

Hinweise

Die Elemente MaxTextureBlendStages und MaxSimultaneousTextures mögen ähnlich aussehen, enthalten jedoch unterschiedliche Informationen. Das MaxTextureBlendStages-Element enthält die Gesamtzahl der vom aktuellen Gerät unterstützten Textur-Blending-Phasen, und das MaxSimultaneousTextures-Element beschreibt, wie viele dieser Phasen texturen mit der SetTexture-Methode gebunden sein können.

Wenn der Treiber diese Struktur ausfüllt, kann er Werte für Ausführungspufferfunktionen festlegen, auch wenn die Zum Abrufen der Funktionen verwendete Schnittstelle (z. B . IDirect3DDevice9) keine Ausführungspuffer unterstützt.

Im Allgemeinen können Leistungsprobleme auftreten, wenn Sie eine Textur verwenden und diese dann während einer Szene ändern. Stellen Sie sicher, dass keine Textur, die im aktuellen BeginScene - und EndScene-Block verwendet wird, entfernt wird, es sei denn, dies ist unbedingt erforderlich. Bei extrem hoher Texturnutzung innerhalb einer Szene sind die Ergebnisse nicht definiert. Dies tritt auf, wenn Sie eine Textur ändern, die Sie in der Szene verwendet haben, und es ist kein freies Texturspeicher verfügbar. Bei solchen Systemen wird der Inhalt des z-Puffers bei EndScene ungültig. Anwendungen sollten UpdateSurface nicht auf oder aus dem Backpuffer auf diesem Hardwaretyp innerhalb eines BeginScene/EndScene-Paares aufrufen. Darüber hinaus sollten Anwendungen nicht versuchen, auf den Z-Puffer zuzugreifen, wenn das D3DPRASTERCAPS_ZBUFFERLESSHSR-Funktionsflag festgelegt ist. Schließlich sollten Anwendungen den Backpuffer oder den Z-Puffer in einem BeginScene/EndScene-Paar nicht sperren.

Die folgenden Flags für mipmapped-Texturen werden in Direct3D 9 nicht unterstützt.

  • D3DPTFILTERCAPS_LINEAR
  • D3DPTFILTERCAPS_LINEARMIPLINEAR
  • D3DPTFILTERCAPS_LINEARMIPNEAREST
  • D3DPTFILTERCAPS_MIPNEAREST
  • D3DPTFILTERCAPS_NEAREST

Anforderungen

   
Kopfzeile d3d9caps.h

Weitere Informationen

Direct3D-Strukturen

GetDeviceCaps