D3DPRIMCAPS-Struktur (d3dcaps.h)

Veraltet in DirectX 8.0 und höheren Versionen; siehe Hinweise.

Die D3DPRIMCAPS-Struktur definiert die Funktionen für jeden primitiven Typ.

Syntax

typedef struct _D3DPrimCaps {
  DWORD dwSize;
  DWORD dwMiscCaps;
  DWORD dwRasterCaps;
  DWORD dwZCmpCaps;
  DWORD dwSrcBlendCaps;
  DWORD dwDestBlendCaps;
  DWORD dwAlphaCmpCaps;
  DWORD dwShadeCaps;
  DWORD dwTextureCaps;
  DWORD dwTextureFilterCaps;
  DWORD dwTextureBlendCaps;
  DWORD dwTextureAddressCaps;
  DWORD dwStippleWidth;
  DWORD dwStippleHeight;
} D3DPRIMCAPS, *LPD3DPRIMCAPS;

Member

dwSize

Gibt die Größe der D3DPRIMCAPS-Struktur in Bytes an.

dwMiscCaps

Gibt die allgemeinen Funktionen für diesen Grundtyp an. Bei diesem Member kann es sich um einen oder mehrere der folgenden Elemente handelt:

Wert Bedeutung
D3DPMISCCAPS_CONFORMANT Das Gerät entspricht dem OpenGL-Standard.
D3DPMISCCAPS_CULLCCW Der Treiber unterstützt das Durchfahren des D3DRENDERSTATE_CULLMODE Renderzustands gegen den Uhrzeigersinn. (Dies gilt nur für Dreiecksgrundtypen.) Dies entspricht dem D3DCULL_CCW Enumerator des D3DCULL aufgezählten Typs.
D3DPMISCCAPS_CULLCW Der Treiber unterstützt das Durchfahren des D3DRENDERSTATE_CULLMODE-Renderzustands im Uhrzeigersinn. (Dies gilt nur für Dreiecksgrundtypen.) Dies entspricht dem D3DCULL_CW Enumerator des D3DCULL aufgezählten Typs.
D3DPMISCCAPS_CULLNONE Der Treiber führt keine Dreiecks-Kulling aus. Dies entspricht dem D3DCULL_NONE Enumerator des D3DCULL aufgezählten Typs.
D3DPMISCCAPS_LINEPATTERNREP Der Treiber kann andere Werte als 1 im wRepeatFactor-Member der D3DLINEPATTERN-Struktur verarbeiten. (Dies gilt nur für Linienzeichnungsgrundsätze.)
Anwendungen können die Zeilenmuster-Wiederholungszahl auf einen Maximalwert von 65535 (16-Bit-Wert) festlegen. Hardware unterstützt jedoch nur maximal 255 (8-Bit-Wert). Daher muss ein Anzeigetreiber eine Anforderung fehlschlagen, die versucht, diese Zahl auf einen Wert größer als 255 als ungültige Anforderung festzulegen. Weitere Informationen finden Sie unter Festlegen der Anzahl von Zeilenmusterwieholungen.
D3DPMISCCAPS_LINEPATTERNREP und D3DPRASTERCAPS_PAT müssen konsistent festgelegt werden (sowohl ein als auch beide deaktiviert).
D3DPMISCCAPS_MASKPLANES Das Gerät kann eine Bitmaske von Farbebenen ausführen.
D3DPMISCCAPS_MASKZ Das Gerät kann die Änderung des Z-Puffers für Pixelvorgänge aktivieren und deaktivieren.

dwRasterCaps

Enthält Informationen zu Rasterzeichnungsfunktionen. Bei diesem Member kann es sich um einen oder mehrere der folgenden Elemente handelt:

Wert Bedeutung
D3DPRASTERCAPS_ANISOTROPY Das Gerät unterstützt anisotrope Filterung. Weitere Informationen finden Sie unter D3DTSS_MAXANISOTROPY in der DirectX SDK-Dokumentation.
D3DPRASTERCAPS_ANTIALIASEDGES Das Gerät kann Linien antialias anstellen, die den konvexen Umriss von Objekten bilden. Weitere Informationen finden Sie unter D3DRENDERSTATE_EDGEANTIALIAS in der DirectX SDK-Dokumentation.
D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT Das Gerät unterstützt Antialiasing, die von der Sortierreihenfolge der Polygone (Back-to-Front oder Front-to-Back) abhängig ist. Die Anwendung muss Polygone in der richtigen Reihenfolge zeichnen, damit ein Antialiasing auftritt. Weitere Informationen finden Sie im D3DANTIALIASMODE aufgelisteten Typs in der DirectX SDK-Dokumentation.
D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT Das Gerät unterstützt Antialiasing, das nicht von der Sortierreihenfolge der Polygone abhängig ist. Weitere Informationen finden Sie im D3DANTIALIASMODE aufgelisteten Typs in der DirectX SDK-Dokumentation.
D3DPRASTERCAPS_DITHER Das Gerät kann dither, um die Farbauflösung durch den D3DRENDERSTATE_DITHERENABLE Renderzustand zu verbessern.
D3DPRASTERCAPS_FOGRANGE Das Gerät unterstützt bereichsbasierten Nebel, bei dem die Entfernung eines Objekts vom Viewer anstelle der Tiefe des Objekts (seine Z-Koordinate) verwendet wird, um Nebeleffekte in der Szene zu berechnen. Weitere Informationen finden Sie unter D3DRENDERSTATE_RANGEFOGENABLE in der DirectX SDK-Dokumentation.
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. Weitere Informationen finden Sie unter D3DRENDERSTATE_FOGCOLOR, D3DRENDERSTATE_FOGDENSITY, D3DRENDERSTATE_FOGENABLE, D3DRENDERSTATE_FOGEND, D3DRENDERSTATE_FOGSTART und D3DRENDERSTATE_FOGTABLEMODE in der DirectX SDK-Dokumentation.
D3DPRASTERCAPS_FOGVERTEX Das Gerät berechnet den Nebelwert während des Beleuchtungsvorgangs, platziert den Wert in die Alphakomponente des D3DCOLOR Werts, der für den spiegelförmigen Member der D3DTLVERTEX-Struktur angegeben ist (definiert in der Direct3D SDK-Dokumentation), und interpoliert den Nebelwert während der Rasterung. Weitere Informationen finden Sie unter D3DRENDERSTATE_FOGCOLOR, D3DRENDERSTATE_FOGDENSITY, D3DRENDERSTATE_FOGENABLE, D3DRENDERSTATE_FOGEND, D3DRENDERSTATE_FOGSTART und D3DRENDERSTATE_FOGVERTEXMODE in der DirectX SDK-Dokumentation.
D3DPRASTERCAPS_PAT Der Treiber kann musterierte Zeichnungen (Linien oder Füllungen mit D3DRENDERSTATE_LINEPATTERN oder einem der D3DRENDERSTATE_STIPPLEPATTERN Renderzustände) für das abgefragte Grundelement ausführen.
D3DPRASTERCAPS_PAT und D3DPMISCCAPS_LINEPATTERNREP müssen konsistent festgelegt werden (sowohl ein als auch beide deaktiviert).
D3DPRASTERCAPS_ROP2 Das Gerät kann andere Rastervorgänge als R2_COPYPEN unterstützen.
D3DPRASTERCAPS_STIPPLE Das Gerät kann Polygone verstippen, um die Transluzenz zu simulieren.
D3DPRASTERCAPS_SUBPIXEL Das Gerät führt die Subpixelplatzierung von z-, Farb- und Texturdaten aus, anstatt mit der nächstgelegenen ganzzahligen Pixelkoordinate zu arbeiten. Dies hilft, Durchschnitte aufgrund von Z-Ungenauigkeiten und Jitter von Farb- und Texturwerten für Pixel zu vermeiden. Beachten Sie, dass es keinen entsprechenden Zustand gibt, der aktiviert und deaktiviert werden kann. Das Gerät führt entweder eine Subpixelplatzierung aus oder nicht, und dieses Bit ist nur vorhanden, damit der Direct3D-Client die Renderingqualität besser bestimmen kann.
D3DPRASTERCAPS_SUBPIXELX Das Gerät ist nur entlang der x-Achse subpixelgenau und an eine ganze y-Achsen-Scanlinie geklemmt. Informationen zur Genauigkeit von Subpixeln finden Sie in der zuvor erwähnten Definition von D3DPRASTERCAPS_SUBPIXEL.
D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT Die Hardware kann Transluzenz ohne Sortierung durchführen. Dies ist ein Ableger der A-Puffertechnik zum Antialiasing.
D3DPRASTERCAPS_WBUFFER Das Gerät unterstützt w-Buffering.
D3DPRASTERCAPS_WFOG Das Gerät unterstützt w-basiertes Nebel.
D3DPRASTERCAPS_XOR Das Gerät kann XOR-Vorgänge unterstützen. Wenn dieses Flag nicht festgelegt, aber D3DPRASTER_ROP2 festgelegt ist, müssen XOR-Vorgänge weiterhin unterstützt werden.
D3DPRASTERCAPS_ZBIAS Das Gerät unterstützt Z-Bias-Werte, ganzzahlige Werte, die Polygonen zugewiesen sind, damit physisch koplanare Polygone getrennt erscheinen können. Weitere Informationen finden Sie unter D3DRENDERSTATE_ZBIAS in der DirectX SDK-Dokumentation.
D3DPRASTERCAPS_ZBUFFERLESSHSR Das Gerät kann hidden-surface removal (HSR) ausführen, ohne dass die Anwendung Polygone sortieren muss, und ohne dass die Zuordnung eines z-Puffers 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. HsR ohne Z-Puffer wird ausgeführt, wenn keine z-Puffer-Oberfläche an die Renderingzieloberfläche angefügt ist und der Vergleichstest für Z-Puffer aktiviert ist (d. h. wenn der dem D3DRENDERSTATE_ZENABLE Renderzustand zugeordnete Zustandswert auf TRUE festgelegt ist).
D3DPRASTERCAPS_ZFOG Das Gerät unterstützt z-basierten Nebel.
D3DPRASTERCAPS_ZTEST Das Gerät kann Z-Test-Vorgänge ausführen. Dadurch wird effektiv ein Primitive gerendert und angegeben, ob z-Pixel gerendert worden wären.

dwZCmpCaps

Gibt Z-Puffer-Vergleichsfunktionen an, die der Treiber über den D3DRENDERSTATE_ZFUNC Renderzustand ausführen kann. Bei diesem Member kann es sich um einen oder mehrere der folgenden Elemente handelt:

Vergleichsfunktion BESCHREIBUNG
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.

dwSrcBlendCaps

Gibt Die Vom Treiber unterstützten Funktionen für die Quellmischung über den D3DRENDERSTATE_SRCBLEND Renderzustand an. Bei diesem Member kann es sich um einen oder mehrere der folgenden Werte handeln. (Die RGBA-Werte der Quelle und des Ziels werden mit den Subskripts s und d angegeben.)

Wert Bedeutung
D3DPBLENDCAPS_BOTHINVSRCALPHA Quellmischungsfaktor ist (1 - As, 1 - As, 1 - As, 1 - As) und Zielmischungsfaktor (As, As, As, As); die Zielmischungsauswahl wird überschrieben.
D3DPBLENDCAPS_BOTHSRCALPHA Quellmischungsfaktor ist (As, As, As, As) und Zielmischungsfaktor ist (1 - As, 1 - As, 1 - As, 1 - As); die Zielmischungsauswahl wird überschrieben.
D3DPBLENDCAPS_DESTALPHA Mischfaktor ist (Ad, Ad, Ad, Ad, Ad).
D3DPBLENDCAPS_DESTCOLOR Der 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_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_ZERO Der Mischfaktor ist (0, 0, 0, 0).

dwDestBlendCaps

Gibt Zielmischungsfunktionen an, die vom Treiber über den D3DRENDERSTATE_DESTBLEND Renderzustand unterstützt werden. Dieser Member kann dieselben Funktionen sein, die für das dwSrcBlendCaps-Element definiert sind.

dwAlphaCmpCaps

Gibt Alphatestvergleichsfunktionen an, die der Treiber ausführen kann. Dieses Member verwendet die gleichen Vergleichsfunktionen, die für das dwZCmpCaps-Element definiert sind. Wenn das dwAlphaCmpCaps-Element der D3DPRIMCAPS-Struktur 0 ist, unterstützt der Treiber keine Alphatestrenderzustände D3DRENDERSTATE_ALPHAFUNC, D3DRENDERSTATE_ALPHAREF und D3DRENDERSTATE_ALPHATESTENABLE.

dwShadeCaps

Gibt Schattierungsvorgänge an, die das Gerät ausführen kann. Im Allgemeinen wird davon ausgegangen, dass ein Gerät, wenn es einen bestimmten Befehl (z. B. D3DOP_TRIANGLE) überhaupt unterstützt, den D3DSHADE_FLAT-Modus unterstützt (wie im D3DSHADEMODE aufgelisteten Typ in der DirectX SDK-Dokumentation angegeben). Dieses Flag gibt an, ob der Treiber auch Gouraud- und Phong-Schattierung unterstützen kann und ob Alphafarbkomponenten für jeden der drei Farbgenerierungsmodi unterstützt werden. Wenn Alphakomponenten in einem bestimmten Modus nicht unterstützt werden, ist der Alphawert der in diesem Modus 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. Diese werden durch den Schattierungsmodus und das Farbmodell sowie darüber geändert, ob die Alphakomponente einer Farbe gemischt oder gestippt ist.

Bei diesem Member kann es sich um einen oder mehrere der in der folgenden Tabelle aufgeführten Werte handeln. Verwandte Flags werden in dieser Tabelle gruppiert.

Wert Bedeutung
D3DPSHADECAPS_ALPHAFLATBLEND D3DPSHADECAPS_ALPHAFLATSTIPPLED Das Gerät kann eine Alphakomponente für flach gemischte und gestippte Transparenz (D3DRENDERSTATE_STIPPLEDALPHA) unterstützen (der D3DSHADE_FLAT Zustand für den D3DSHADEMODE aufgezählten Typ). In diesen Modi wird die Alphafarbkomponente für ein Grundelement als Teil der Farbe für den ersten Scheitelpunkt des Grundtyps bereitgestellt.
D3DPSHADECAPS_ALPHAGOURAUDBLEND D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED Das Gerät kann eine Alphakomponente für gouraud blended and stippled (D3DRENDERSTATE_STIPPLEDALPHA) transparent unterstützen (der D3DSHADE_GOURAUD Zustand für den D3DSHADEMODE aufgezählten Typ). In diesen Modi wird die Alphafarbkomponente für ein Grundelement an Scheitelpunkten bereitgestellt und zusammen mit den anderen Farbkomponenten über ein Gesicht interpoliert.
D3DPSHADECAPS_ALPHAPHONGBLEND D3DPSHADECAPS_ALPHAPHONGSTIPPLED Das Gerät kann eine Alphakomponente für Phong-blended und stippled (D3DRENDERSTATE_STIPPLEDALPHA) Bzw. (der D3DSHADE_PHONG Zustand für den D3DSHADEMODE aufgezählten Typ) unterstützen. In diesen Modi werden Vertexparameter auf Pixelbasis neu bewertet, wobei Beleuchtungseffekte für die Rot-, Grün- und Blaufarbkomponenten angewendet werden.
D3DPSHADECAPS_COLORFLATMONO D3DPSHADECAPS_COLORFLATRGB Das Gerät kann farbige flache Schattierung in den D3DCOLOR_MONO- bzw. D3DCOLOR_RGB-Farbmodellen unterstützen. In diesen Modi wird die Farbkomponente für ein Grundelement als Teil der Farbe für den ersten Scheitelpunkt des Grundtyps bereitgestellt. Bei monochromatischen Beleuchtungsmodi wird nur die blaue Komponente der Farbe interpoliert; im RGB-Beleuchtungsmodus werden natürlich die roten, grünen und blauen Komponenten interpoliert.
D3DPSHADECAPS_COLORGOURAUDMONO D3DPSHADECAPS_COLORGOURAUDRGB Das Gerät kann die farbige Gouraud-Schattierung in den D3DCOLOR_MONO bzw. D3DCOLOR_RGB Farbmodellen unterstützen. In diesen Modi wird die Farbkomponente für ein Grundelement an Scheitelpunkten bereitgestellt und zusammen mit den anderen Farbkomponenten über ein Gesicht interpoliert. Bei monochromatischen Beleuchtungsmodi wird nur die blaue Komponente der Farbe interpoliert; im RGB-Beleuchtungsmodus werden natürlich die roten, grünen und blauen Komponenten interpoliert.
D3DPSHADECAPS_COLORPHONGMONO D3DPSHADECAPS_COLORPHONGRGB Das Gerät kann farbige Phong-Schattierung in den D3DCOLOR_MONO bzw. D3DCOLOR_RGB Farbmodellen unterstützen. In diesen Modi werden Vertexparameter pro Pixel neu ausgewertet. Beleuchtungseffekte werden für die Rot-, Grün- und Blaufarbkomponenten im RGB-Modus und für die blaue Komponente nur für den monochromatischen Modus angewendet.
D3DPSHADECAPS_FOGFLAT D3DPSHADECAPS_FOGGOURAUD, D3DPSHADECAPS_FOGPHONG Das Gerät kann Nebel in den Flat-, Gouraud- und Phong-Schattierungsmodellen unterstützen.
D3DPSHADECAPS_SPECULARFLATMONO D3DPSHADECAPS_SPECULARFLATRGB Das Gerät kann durch den D3DRENDERSTATE_SPECULARENABLE Renderzustand in flacher Schattierung in den D3DCOLOR_MONO- bzw. D3DCOLOR_RGB-Farbmodellen spekuläre Hervorhebungen unterstützen.
D3DPSHADECAPS_SPECULARGOURAUDMONO D3DPSHADECAPS_SPECULARGOURAUDRGB Das Gerät kann durch den D3DRENDERSTATE_SPECULARENABLE Renderzustand in Gouraud-Schattierung in den D3DCOLOR_MONO bzw. D3DCOLOR_RGB Farbmodellen spekuläre Hervorhebungen unterstützen.
D3DPSHADECAPS_SPECULARPHONGMONO D3DPSHADECAPS_SPECULARPHONGRGB Das Gerät kann durch den D3DRENDERSTATE_SPECULARENABLE-Renderzustand in Phong-Schattierung in den D3DCOLOR_MONO bzw. D3DCOLOR_RGB Farbmodellen speculare Hervorhebungen unterstützen. Phong-Schattierung wird für DirectX 2.0 nicht unterstützt.

Die meisten Hardwaretreiber sollten die D3DPSHADECAPS_COLORFLATRGB- und D3DPSHADECAPS_COLORGOURAUDRGB-Funktionen verfügbar machen. Hardware, die Beleuchtung mit Intensität (Graustufen) unterstützt (weitere Details finden Sie unter D3DRENDERSTATE_MONOENABLE), sollte auch die D3DPSHADECAPS_COLORFLATMONO- und D3DSHADECAPS_COLORGOURAUDMONO-Funktionen verfügbar machen.

dwTextureCaps

Gibt verschiedene Texturzuordnungsfunktionen an. Bei diesem Member kann es sich um einen oder mehrere der folgenden Elemente handelt:

Wert Bedeutung
D3DPTEXTURECAPS_ALPHA RGBA-Texturen werden in den D3DTEX_DECAL- und D3DTEX_MODULATE Texturfiltermodi unterstützt. Wenn diese Funktion nicht festgelegt ist, werden in diesen Modi nur RGB-Texturen unterstützt. Unabhängig davon, ob dieses Flag festgelegt ist, muss Alpha immer in den Filtermodi D3DTEX_DECAL_MASK, D3DTEX_DECAL_ALPHA und D3DTEX_MODULATE_ALPHA unterstützt werden, wenn diese Filtermodi verfügbar sind.
D3DPTEXTURECAPS_ALPHAPALETTE Palettierte Texturoberflächen, deren Paletten Alphainformationen enthalten, werden unterstützt (siehe DDPCAPS_ALPHA-Flag in der DDCAPS-Struktur in der DirectDraw SDK-Dokumentation).
D3DPTEXTURECAPS_BORDER Die Texturzuordnung entlang von Rahmen wird unterstützt.
D3DPTEXTURECAPS_COLORKEYBLEND Das Gerät kann Farbschlüsselmischungen durchführen.
D3DPTEXTURECAPS_CUBEMAP Das Gerät kann die Zuordnung von Cubeumgebungen unterstützen.
D3DPTEXTURECAPS_PERSPECTIVE Die Perspektivkorrektur wird unterstützt. Weitere Informationen finden Sie unter D3DRENDERSTATE_TEXTUREPERSPECTIVE in der DirectX SDK-Dokumentation.
D3DPTEXTURECAPS_POW2 Unter typischen Bedingungen erfordert das Gerät, dass Texturen über Breite und Höhe verfügen, die als Potenzen von 2 angegeben sind. Diese Anforderung gilt weder für Würfeltexturen noch für Volumentexturen. Wenn dieses Flag festgelegt ist, kann auch das D3DPTEXTURECAPS_NONPOW2CONDITIONAL-Flag festgelegt werden.
D3DPTEXTURECAPS_PROJECTED Das Gerät kann transformierte Texturkoordinaten durch die COUNTth-Texturkoordinate dividieren. Anders ausgedrückt: Das Gerät kann D3DTTFF_PROJECTED. Weitere Informationen finden Sie unter D3DTEXTURETRANSFORMFLAGS in der DirectX SDK-Dokumentation.
D3DPTEXTURECAPS_NONPOW2CONDITIONAL Unterstützt bedingt die Verwendung von zweidimensionalen (2D)-Texturen (d. h. keine Volumen- oder Würfeltexturen) mit Dimensionen, die keine Potenzen von 2 aufweisen. 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_WRAPn auf 0 festgelegt).
  • Mipmapping wird nicht verwendet (nur Vergrößerungsfilter verwenden).
  • Die Textur wurde nicht in DXT1-5 (komprimierte Texturformate) gespeichert.
Ein Treiber für ein Gerät, das diese Funktion verfügbar macht, kann keine abhängigen Texturlesevorgänge mit einer solchen Textur ausführen. Das heißt, eine solche Textur kann nicht mit Texturkoordinaten behandelt oder abgetastet werden, die mit Shadercode berechnet werden. Anders ausgedrückt: Eine solche Textur kann nicht in einer Phase festgelegt werden, die basierend auf einer Shaderberechnung wie den Anweisungen bem, beml oder texm3x3 in den Versionen 1.0-1.3 von Pixelshadern gelesen wird. Diese Texturen können beispielsweise verwendet werden, um Bump-Map-Daten zu speichern, die der Treiber für Texturlesevorgänge bereitstellt, aber nicht die Umgebungskarten, die in texbem, texbeml oder texm3x3spec verwendet werden. Wenn dieses Flag festgelegt ist, muss auch das D3DPTEXTURECAPS_POW2-Flag festgelegt werden.
D3DPTEXTURECAPS_SQUAREONLY Alle Texturen müssen quadratisch sein.
D3DPTEXTURECAPS_TEXREPEATNOTSCALESBYSIZE Texturindizes werden vor der Interpolation nicht nach der Texturgröße skaliert.
D3DPTEXTURECAPS_TEXTURETRANSFORM Das Gerät ist in der Lage, Texturtransformationen durchzuführen.
D3DPTEXTURECAPS_TRANSPARENCY Texturtransparenz wird unterstützt. (Nur die Texel, die nicht die aktuelle transparente Farbe haben, werden gezeichnet.)

dwTextureFilterCaps

Gibt Texturzuordnungsfunktionen an. Bei diesem Member kann es sich um einen oder mehrere der folgenden Elemente handelt:

Wert Bedeutung
D3DPTFILTERCAPS_LINEAR Bilineare Filterung wird unterstützt. Es wird ein gewichteter Mittelwert eines 2-mal-2-Texels-Bereichs verwendet, der das gewünschte Pixel umgibt. Dies gilt sowohl für das Vergrößern als auch für das Verkleineren. Wenn das Vergrößern oder Verkleineren unterstützt wird, müssen beide unterstützt werden.
D3DPTFILTERCAPS_LINEARMIPLINEAR Die trilineare Interpolation zwischen MIP-Karten wird unterstützt. Führt eine bilineare Filterung für die beiden nächsten MIP-Karten durch und interpoliert dann linear zwischen den beiden Farben, um die endgültige Farbe zu bestimmen.
D3DPTFILTERCAPS_LINEARMIPNEAREST Die lineare Interpolation zwischen zwei punktförmigen MIP-Karten wird unterstützt. Wählt das nächstgelegene Texel aus den beiden nächstgelegenen MIP-Kartenebenen aus und führt dann eine lineare Interpolation zwischen ihnen durch.
D3DPTFILTERCAPS_MAGFAFLATCUBIC Es wird eine stufenbasierte flach-kubische Filterung zur Vergrößerung von Texturen unterstützt. Der Filter für die flach-kubische Vergrößerung wird durch den D3DTFG_FLATCUBIC-Member der D3DTEXTUREMAGFILTER-Enumeration dargestellt.
D3DPTFILTERCAPS_MAGFANISOTROPIC Die stufenspezifische anisotrope Filterung zur Vergrößerung von Texturen wird unterstützt. Der anisotrope Vergrößerungsfilter wird durch den D3DTFG_ANISOTROPIC Member der D3DTEXTUREMAGFILTER-Enumeration dargestellt.
D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC Die stufenspezifische gaußische kubische Filterung zur Vergrößerung von Texturen wird unterstützt. Der gaußisch-kubische Vergrößerungsfilter wird durch den D3DTFG_GAUSSIANCUBIC Member der D3DTEXTUREMAGFILTER-Enumeration dargestellt.
D3DPTFILTERCAPS_MAGFLINEAR Die stufenweise bilineare Interpolationsfilterung für die Vergrößerung von Texturen wird unterstützt. Der Vergrößerungsfilter für die bilineare Interpolation wird durch den D3DTFG_LINEAR-Member der D3DTEXTUREMAGFILTER-Enumeration dargestellt. Gibt an, dass die bilineare Filterung für den Vergrößerungsfilter unterstützt wird.
D3DPTFILTERCAPS_MAGFPOINT Die phasenspezifische Punktsamplesfilterung für die Vergrößerung von Texturen wird unterstützt. Der Vergrößerungsfilter für Punktbeispiele wird durch den D3DTFG_POINT Member der D3DTEXTUREMAGFILTER-Enumeration dargestellt.
D3DPTFILTERCAPS_MINFANISOTROPIC Die stufenspezifische anisotrope Filterung zur Minimierung von Texturen wird unterstützt. Der Anisotrope Minimierungsfilter wird durch den D3DTFN_ANISOTROPIC Member der D3DTEXTUREMINFILTER-Enumeration dargestellt.
D3DPTFILTERCAPS_MINFLINEAR Die filterungsbasierte bilineare Interpolationsfilterung pro Stufe zum Minimieren von Texturen wird unterstützt. Der bilineare Minimierungsfilter wird durch den D3DTFN_LINEAR-Member der D3DTEXTUREMINFILTER-Enumeration dargestellt.
D3DPTFILTERCAPS_MINFPOINT Die punktbezogene Filterung pro Phase zum Minimieren von Texturen wird unterstützt. Der Punktbeispiel-Minimierungsfilter wird durch den D3DTFN_POINT-Member der D3DTEXTUREMINFILTER-Enumeration dargestellt.
D3DPTFILTERCAPS_MIPFLINEAR Die phasenweise trilineare Interpolationsfilterung für MIP-Karten (d. h. bilineare Filterung zwischen MIP-Ebenen) wird unterstützt. Der MIP-Zuordnungsfilter der trilinearen Interpolation wird durch den D3DTFP_LINEAR-Member der D3DTEXTUREMIPFILTER-Enumeration dargestellt.
D3DPTFILTERCAPS_MIPFPOINT Die phasenspezifische Punktfilterung für MIP-Zuordnungen wird unterstützt. Der MIP-Zuordnungsfilter für Punktbeispiele wird durch den D3DTFP_POINT Member der D3DTEXTUREMIPFILTER-Enumeration dargestellt.
D3DPTFILTERCAPS_MIPLINEAR Die nächste MIP-Zuordnung mit bilinearer Filterung, die auf das Ergebnis angewendet wird, wird unterstützt. Wählt das Texel aus der entsprechenden MIP-Karte aus, die die nächsten Koordinaten aufweist, und führt dann einen gewichteten Durchschnitt mit den vier umgebenden Texeln aus, um die endgültige Farbe zu bestimmen.
D3DPTFILTERCAPS_MIPNEAREST Die nächste MIP-Zuordnung wird unterstützt. Wählt das Texel aus der entsprechenden MIP-Karte mit Koordinaten aus, die dem gewünschten Pixelwert am nächsten sind.
D3DPTFILTERCAPS_NEAREST Punktstichproben werden unterstützt. Der Texel mit Koordinaten, die dem gewünschten Pixelwert am nächsten sind, wird verwendet. Dies gilt sowohl für das Hinein- als auch das Verkleineren. Wenn das Vergrößern oder Verkleineren unterstützt wird, müssen beide unterstützt werden.

dwTextureBlendCaps

Gibt Funktionen für die Texturmischung an. Im D3DRENDERSTATE_TEXTUREMAPBLEND aufgelisteten Typs finden Sie Informationen zu den verschiedenen Texturmischungsmodi. Bei diesem Member kann es sich um einen oder mehrere der folgenden Elemente handelt:

Wert Bedeutung
D3DPTBLENDCAPS_ADD Die Texturmischung im Add-Modus wird unterstützt (D3DTBLEND_COPY vom D3DTEXTUREBLEND aufgezählten Typs).
D3DPTBLENDCAPS_COPY Die Texturmischung im Kopiermodus wird unterstützt (D3DTBLEND_COPY vom D3DTEXTUREBLEND aufgelisteten Typs).
D3DPTBLENDCAPS_DECAL Der Texturmischungsmodus für Decals wird unterstützt (D3DTBLEND_DECAL vom D3DTEXTUREBLEND aufgezählten Typs).
D3DPTBLENDCAPS_DECALALPHA Der Decal-Alpha-Textur-Blending-Modus wird unterstützt (D3DTBLEND_DECALALPHA vom D3DTEXTUREBLEND enumerierten Typs).
D3DPTBLENDCAPS_DECALMASK Der Textur-Blending-Modus "Decal-Mask" wird unterstützt (D3DTBLEND_DECALMASK vom aufgezählten Typ D3DTEXTUREBLEND).
D3DPTBLENDCAPS_MODULATE Der Modulate-Texture-Blending-Modus wird unterstützt (D3DTBLEND_MODULATE vom D3DTEXTUREBLEND aufgelisteten Typs).
D3DPTBLENDCAPS_MODULATEALPHA Der Modulate-Alpha-Textur-Blending-Modus wird unterstützt (D3DTBLEND_MODULATEALPHA vom D3DTEXTUREBLEND aufgelisteten Typs).
D3DPTBLENDCAPS_MODULATEMASK Der Texturmischungsmodus modulate-mask wird unterstützt (D3DTBLEND_MODULATEMASK vom D3DTEXTUREBLEND aufgezählten Typs).

dwTextureAddressCaps

Gibt die Funktionen für die Texturadressierung an. Dieser Member kann einer oder mehrere der folgenden Elemente sein, die D3DTEXTUREADDRESS Texturadressierungsmodi entsprechen:

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 zustand der D3DTSS_BORDERCOLOR Texturstufe angegeben. Diese Fähigkeit entspricht dem D3DTADDRESS_BORDER Texturadressierungsmodus.
D3DPTADDRESSCAPS_CLAMP Das Gerät kann Texturen an Adressen klammern. Diese Fähigkeit entspricht dem D3DTADDRESS_CLAMP Texturadressierungsmodus.
D3DPTADDRESSCAPS_INDEPENDENTUV Das Gerät kann die Texturadressierungsmodi der U- und V-Koordinaten der Textur trennen. Diese Fähigkeit entspricht den D3DTSS_ADDRESSU- und D3DTSS_ADDRESSV Texturstufenzuständen.
D3DPTADDRESSCAPS_MIRROR Das Gerät kann Texturen an Adressen Spiegel. Diese Fähigkeit entspricht dem D3DTADDRESS_MIRROR Texturadressierungsmodus.
D3DPTADDRESSCAPS_WRAP Das Gerät kann Texturen in Adressen umschließen. Diese Fähigkeit entspricht dem D3DTADDRESS_WRAP Texturadressierungsmodus.

dwStippleWidth

dwStippleHeight

Geben Sie die maximale Breite und Höhe des unterstützten Stipples an (bis zu 32 x 32).

Hinweise

Diese Struktur wurde für DirectX 8.0 und höhere Runtimes durch D3DCAPS8 ersetzt (siehe DirectX 8.0 SDK-Dokumentation), ist aber für die Kompatibilität mit DirectX 7.0 und früher erforderlich. Weitere Informationen finden Sie unter Reporting DirectX 8.0 Style Direct3D Capabilities( Reporting DirectX 8.0 Style Direct3D Capabilities ).

Diese Struktur wird verwendet, wenn ein Gerät erstellt und die Funktionen eines Geräts abgefragt werden. Es definiert mehrere Elemente in der D3DDEVICEDESC_V1-Struktur .

Anforderungen

Anforderung Wert
Header d3dcaps.h (einschließlich D3dcaps.h)

Weitere Informationen

D3DDEVICEDESC_V1