D3DPRIMCAPS Struktur (d3dcaps.h)
Veraltet in DirectX 8.0 und höheren Versionen; siehe Hinweise.
Die D3DPRIMCAPS-Struktur definiert die Funktionen für jeden Grundtyp.
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;
Angehörige
dwSize
Gibt die Größe der D3DPRIMCAPS Struktur in Bytes an.
dwMiscCaps
Gibt die allgemeinen Funktionen für diesen Grundtyp an. Dieses Mitglied kann eine oder mehrere der folgenden Sein:
Wert | Bedeutung |
---|---|
D3DPMISCCAPS_CONFORMANT | Das Gerät entspricht dem OpenGL-Standard. |
D3DPMISCCAPS_CULLCCW | Der Treiber unterstützt das Culling im Uhrzeigersinn durch den D3DRENDERSTATE_CULLMODE Renderzustand. (Dies gilt nur für Dreiecksgrundtypen.) Dies entspricht dem D3DCULL_CCW Enumerator des D3DCULL Aufzählungstyps. |
D3DPMISCCAPS_CULLCW | Der Treiber unterstützt das dreieckige Culling im Uhrzeigersinn durch den D3DRENDERSTATE_CULLMODE Renderzustand. (Dies gilt nur für Dreiecksgrundtypen.) Dies entspricht dem D3DCULL_CW Enumerator des D3DCULL Aufzählungstyps. |
D3DPMISCCAPS_CULLNONE | Der Treiber führt keine Dreiecks-Culling aus. Dies entspricht dem D3DCULL_NONE Enumerator des D3DCULL Aufzählungstyps. |
D3DPMISCCAPS_LINEPATTERNREP | Der Treiber kann werte außer 1 im wRepeatFactor-Element der D3DLINEPATTERN-Struktur verarbeiten. (Dies gilt nur für Linienzeichnungsgrundtypen.) Anwendungen können die Zeilenmusterwiederholungszahl 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 nicht ausführen, die versucht, diese Zahl auf einen Wert von mehr als 255 als ungültige Anforderung festzulegen. Weitere Informationen finden Sie unter Festlegen der Anzahl von Linienmuster-Wiederholungen. D3DPMISCCAPS_LINEPATTERNREP und D3DPRASTERCAPS_PAT müssen konsistent (sowohl ein als auch beides deaktiviert) festgelegt werden. |
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. Dieses Mitglied kann eine oder mehrere der folgenden Sein:
Wert | Bedeutung |
---|---|
D3DPRASTERCAPS_ANISOTROPY | Das Gerät unterstützt die anisotrope Filterung. Weitere Informationen finden Sie in der DirectX SDK-Dokumentation D3DTSS_MAXANISOTROPY. |
D3DPRASTERCAPS_ANTIALIASEDGES | Das Gerät kann Antialiaslinien bilden, die die konvexe Kontur von Objekten bilden. Weitere Informationen finden Sie in der DirectX SDK-Dokumentation D3DRENDERSTATE_EDGEANTIALIAS. |
D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT | Das Gerät unterstützt Antialiasing, das 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 Antialiasing auftritt. Weitere Informationen finden Sie im D3DANTIALIASMODE aufgezählten Typ 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 aufgezählten Typ in der DirectX SDK-Dokumentation. |
D3DPRASTERCAPS_DITHER | Das Gerät kann die Farbauflösung durch den D3DRENDERSTATE_DITHERENABLE Renderzustand verbessern. |
D3DPRASTERCAPS_FOGRANGE | Das Gerät unterstützt bereichsbasierten Nebel, in dem der Abstand eines Objekts vom Viewer anstelle der Tiefe des Objekts (seine Z-Koordinate) zum Berechnen von Nebeleffekten in der Szene verwendet wird. Weitere Informationen finden Sie in der DirectX SDK-Dokumentation D3DRENDERSTATE_RANGEFOGENABLE. |
D3DPRASTERCAPS_FOGTABLE | Das Gerät berechnet den Nebelwert, indem auf eine Nachschlagetabelle verwiesen wird, die Nebelwerte enthält, die in die Tiefe eines bestimmten Pixels indiziert sind. Weitere Informationen finden Sie in der DirectX SDK-Dokumentation unter D3DRENDERSTATE_FOGCOLOR, D3DRENDERSTATE_FOGDENSITY, D3DRENDERSTATE_FOGENABLE, D3DRENDERSTATE_FOGEND, D3DRENDERSTATE_FOGSTART und D3DRENDERSTATE_FOGTABLEMODE. |
D3DPRASTERCAPS_FOGVERTEX | Das Gerät berechnet den Nebelwert während des Beleuchtungsvorgangs, platziert den Wert in die Alphakomponente des D3DCOLOR Werts, der für das Glanzelement der D3DTLVERTEX Struktur (definiert in der Direct3D SDK-Dokumentation) angegeben wird, und interpoliert den Nebelwert während der Rasterung. Weitere Informationen finden Sie in der DirectX SDK-Dokumentation unter D3DRENDERSTATE_FOGCOLOR, D3DRENDERSTATE_FOGDENSITY, D3DRENDERSTATE_FOGENABLE, D3DRENDERSTATE_FOGEND, D3DRENDERSTATE_FOGSTART und D3DRENDERSTATE_FOGVERTEXMODE. |
D3DPRASTERCAPS_PAT | Der Treiber kann gemusterte Zeichnung (Linien oder Füllungen mit D3DRENDERSTATE_LINEPATTERN oder einem der D3DRENDERSTATE_STIPPLEPATTERN Renderzustände) für den abgefragten Grundtyp ausführen. D3DPRASTERCAPS_PAT und D3DPMISCCAPS_LINEPATTERNREP müssen konsistent festgelegt werden (sowohl ein als auch beides aus). |
D3DPRASTERCAPS_ROP2 | Das Gerät kann andere Rastervorgänge als R2_COPYPEN unterstützen. |
D3DPRASTERCAPS_STIPPLE | Das Gerät kann Polygone stippen, um die Transluzität zu simulieren. |
D3DPRASTERCAPS_SUBPIXEL | Das Gerät führt eine Subpixelplatzierung von Z-, Farb- und Texturdaten durch, anstatt mit der pixelgenauen Koordinate mit der nächstgelegenen Ganzzahl zu arbeiten. Dadurch wird eine Beschnittung aufgrund von Z-Ungenauigkeiten und jittern von Farb- und Texturwerten für Pixel vermieden. Beachten Sie, dass kein entsprechender Zustand vorhanden ist, 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 besser bestimmen kann, was die Renderingqualität ist. |
D3DPRASTERCAPS_SUBPIXELX | Das Gerät ist nur entlang der x-Achse subpixelgenau und wird an eine ganzzahlige y-Achsen-Scanlinie geklammert. Informationen zur Genauigkeit von Subpixeln finden Sie in der zuvor erwähnten Definition von D3DPRASTERCAPS_SUBPIXEL. |
D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT | Die Hardware kann translucency ohne Sortierung durchführen. Dies ist ein Abschuss der A-Puffertechnik für antialiasing. |
D3DPRASTERCAPS_WBUFFER | Das Gerät unterstützt w-buffering. |
D3DPRASTERCAPS_WFOG | Das Gerät unterstützt w-basierte 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 physische koplanare Polygone getrennt angezeigt werden können. Weitere Informationen finden Sie in der DirectX SDK-Dokumentation D3DRENDERSTATE_ZBIAS. |
D3DPRASTERCAPS_ZBUFFERLESSHSR | Das Gerät kann das Entfernen ausgeblendeter Oberflächen (Hidden Surface Removal, HSR) durchfü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. Die zum Ausführen von HSR verwendete Methode ist hardwareabhängig und für die Anwendung transparent. Z-buffer-less HSR wird ausgeführt, wenn keine Z-Pufferoberfläche an die Renderzieloberfläche angefügt ist und der Vergleichstest für z-Puffer aktiviert ist (d. h., wenn der dem D3DRENDERSTATE_ZENABLE Renderzustandswert zugeordnete Zustandswert auf TRUE festgelegt ist). |
D3DPRASTERCAPS_ZFOG | Das Gerät unterstützt z-basierten Nebel. |
D3DPRASTERCAPS_ZTEST | Das Gerät kann Z-Testvorgänge ausführen. Dadurch wird ein Grundtyp effektiv gerendert und gibt an, ob Z-Pixel gerendert wurden. |
dwZCmpCaps
Gibt Z-Puffervergleichsfunktionen an, die der Treiber über den D3DRENDERSTATE_ZFUNC Renderzustand ausführen kann. Dieses Mitglied kann eine oder mehrere der folgenden Sein:
Vergleichsfunktion | Beschreibung |
---|---|
D3DPCMPCAPS_ALWAYS | Bestehen Sie immer den Z-Test. |
D3DPCMPCAPS_EQUAL | Bestehen Sie den Z-Test, wenn die neue z dem aktuellen Z entspricht. |
D3DPCMPCAPS_GREATER | Bestehen Sie den Z-Test, wenn die neue z größer als die aktuelle z ist. |
D3DPCMPCAPS_GREATEREQUAL | Bestehen Sie den Z-Test, wenn die neue z größer oder gleich dem aktuellen Z ist. |
D3DPCMPCAPS_LESS | Bestehen Sie den Z-Test, wenn die neue z kleiner als die aktuelle z ist. |
D3DPCMPCAPS_LESSEQUAL | Bestehen Sie den Z-Test, wenn die neue z kleiner oder gleich dem aktuellen Z ist. |
D3DPCMPCAPS_NEVER | Fehler beim Z-Test. |
D3DPCMPCAPS_NOTEQUAL | Bestehen Sie den Z-Test, wenn die neue z nicht dem aktuellen Z entspricht. |
dwSrcBlendCaps
Gibt die vom Treiber unterstützten Quellmischungsfunktionen über den D3DRENDERSTATE_SRCBLEND Renderzustand an. Bei diesem Element kann es sich um einen oder mehrere der folgenden Werte handeln. (Die RGBA-Werte der Quelle und des Ziels werden mit den Tiefgestellten und d angegeben.)
Wert | Bedeutung |
---|---|
D3DPBLENDCAPS_BOTHINVSRCALPHA | Quellmischungsfaktor ist (1 - As, 1 - As, 1 - As, 1 - As) und Zielmischungsfaktor ist (As, As, As, As); die Zielmischungsauswahl wird außer Kraft gesetzt. |
D3DPBLENDCAPS_BOTHSRCALPHA | Der Quellmischungsfaktor ist (As, As, As) und Zielmischungsfaktor (1 - As, 1 - As, 1 - As, 1 - As); die Zielmischungsauswahl wird außer Kraft gesetzt. |
D3DPBLENDCAPS_DESTALPHA | Blend-Faktor ist (Ad, Ad, Ad, Ad). |
D3DPBLENDCAPS_DESTCOLOR | Blend-Faktor ist (Rd, Gd, Bd, Ad). |
D3DPBLENDCAPS_INVDESTALPHA | Blendfaktor ist (1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad). |
D3DPBLENDCAPS_INVDESTCOLOR | Blendfaktor ist (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad). |
D3DPBLENDCAPS_INVSRCALPHA | Der Blendfaktor ist (1 - As, 1 - As, 1 - As, 1 - As). |
D3DPBLENDCAPS_INVSRCCOLOR | Blendfaktor ist (1 - Rs, 1 - Gs, 1 - Bs, 1 - As). |
D3DPBLENDCAPS_ONE | Blendfaktor ist (1, 1, 1, 1). |
D3DPBLENDCAPS_SRCALPHA | Blendfaktor ist (As, As, As, As). |
D3DPBLENDCAPS_SRCALPHASAT | Blendfaktor ist (f, f, f, 1); f = min(As, 1 - Ad). |
D3DPBLENDCAPS_SRCCOLOR | Blendfaktor ist (Rs, Gs, Bs, As). |
D3DPBLENDCAPS_ZERO | Blendfaktor ist (0, 0, 0, 0). |
dwDestBlendCaps
Gibt die vom Treiber unterstützten Zielmischungsfunktionen über den D3DRENDERSTATE_DESTBLEND Renderzustand an. Dieses Element kann die gleichen Funktionen sein, die für das dwSrcBlendCaps Member definiert sind.
dwAlphaCmpCaps
Gibt Alphatestvergleichsfunktionen an, die der Treiber ausführen kann. Dieses Element verwendet die gleichen Vergleichsfunktionen wie für das dwZCmpCaps Member definiert sind. Wenn das dwAlphaCmpCaps Mitglied der D3DPRIMCAPS Struktur 0 ist, unterstützt der Treiber keine Alphatestrenderungszustä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 ein Gerät einen bestimmten Befehl (z. B. D3DOP_TRIANGLE) überhaupt unterstützt, den D3DSHADE_FLAT Modus unterstützt (wie im D3DSHADEMODE Aufzählungstyp in der DirectX SDK-Dokumentation angegeben). Dieses Kennzeichen 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 farben, die in diesem Modus generiert werden, implizit 255. Dies ist der maximal mögliche Alphawert (d. a. die Alphakomponente ist in voller Intensität).
Die Farb-, Glanzlichter-, Nebel- und Alpha-Interpolanten eines Dreiecks weisen jeweils Funktionskennzeichnungen auf, die eine Anwendung verwenden kann, um herauszufinden, wie sie vom Gerätetreiber implementiert werden. Diese werden durch den Schattenmodus und das Farbmodell geändert, und ob die Alphakomponente einer Farbe gemischt oder gekippt wird.
Bei diesem Element kann es sich um einen oder mehrere Werte handeln, die in der folgenden Tabelle aufgeführt sind. 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) bzw. (den D3DSHADE_FLAT Zustand für den D3DSHADEMODE Aufzählungstyp) unterstützen. In diesen Modi wird die Alphafarbkomponente für einen Grundtyp 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) transparenz unterstützen, bzw. (der D3DSHADE_GOURAUD Zustand für den D3DSHADEMODE Aufzählungstyp). In diesen Modi wird die Alphafarbkomponente für einen Grundtyp 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) Transparenz bzw. den D3DSHADE_PHONG Zustand für den D3DSHADEMODE Aufzählungstyp unterstützen. In diesen Modi werden Vertexparameter pro Pixel neu ausgewertet, wobei Beleuchtungseffekte für die Rot-, Grün- und Blaufarbenkomponenten angewendet werden. |
D3DPSHADECAPS_COLORFLATMONO D3DPSHADECAPS_COLORFLATRGB | Das Gerät kann eine farbige flache Schattierung in den D3DCOLOR_MONO bzw. D3DCOLOR_RGB Farbmodellen unterstützen. In diesen Modi wird die Farbkomponente für einen Grundtyp als Teil der Farbe für den ersten Scheitelpunkt des Grundtyps bereitgestellt. Bei monochromen Beleuchtungsmodi wird nur die blaue Komponente der Farbe interpoliert; in RGB-Beleuchtungsmodi 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 einen Grundtyp an Scheitelpunkten bereitgestellt und zusammen mit den anderen Farbkomponenten über ein Gesicht interpoliert. Bei monochromen Beleuchtungsmodi wird nur die blaue Komponente der Farbe interpoliert; in RGB-Beleuchtungsmodi werden natürlich die roten, grünen und blauen Komponenten interpoliert. |
D3DPSHADECAPS_COLORPHONGMONO D3DPSHADECAPS_COLORPHONGRGB | Das Gerät kann die 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 Blaufarbenkomponenten im RGB-Modus und für die blaue Komponente nur für den monochromen Modus angewendet. |
D3DPSHADECAPS_FOGFLAT D3DPSHADECAPS_FOGGOURAUD, D3DPSHADECAPS_FOGPHONG | Das Gerät kann Nebel in den Flach-, Gouraud- und Phong-Schattierungsmodellen unterstützen. |
D3DPSHADECAPS_SPECULARFLATMONO D3DPSHADECAPS_SPECULARFLATRGB | Das Gerät kann Glanzlichter durch den D3DRENDERSTATE_SPECULARENABLE Renderzustand in flacher Schattierung in den D3DCOLOR_MONO bzw. D3DCOLOR_RGB Farbmodellen unterstützen. |
D3DPSHADECAPS_SPECULARGOURAUDMONO D3DPSHADECAPS_SPECULARGOURAUDRGB | Das Gerät kann Glanzlichter durch den D3DRENDERSTATE_SPECULARENABLE Renderzustand in der Gouraud-Schattierung in den D3DCOLOR_MONO bzw. D3DCOLOR_RGB Farbmodellen unterstützen. |
D3DPSHADECAPS_SPECULARPHONGMONO D3DPSHADECAPS_SPECULARPHONGRGB | Das Gerät kann Glanzlichter durch den D3DRENDERSTATE_SPECULARENABLE Renderzustand in der Phong-Schattierung in den D3DCOLOR_MONO bzw. D3DCOLOR_RGB Farbmodellen unterstützen. Phong-Schattierung wird für DirectX 2.0 nicht unterstützt. |
Die meisten Hardwaretreiber sollten die funktionen D3DPSHADECAPS_COLORFLATRGB und D3DPSHADECAPS_COLORGOURAUDRGB verfügbar machen. Hardware, die intensitätsbasierte Beleuchtung (Graustufen) unterstützt (weitere Details finden Sie unter D3DRENDERSTATE_MONOENABLE), sollten auch die funktionen D3DPSHADECAPS_COLORFLATMONO und D3DSHADECAPS_COLORGOURAUDMONO verfügbar machen.
dwTextureCaps
Gibt verschiedene Texturzuordnungsfunktionen an. Dieses Mitglied kann eine oder mehrere der folgenden Sein:
Wert | Bedeutung |
---|---|
D3DPTEXTURECAPS_ALPHA | RGBA-Texturen werden in den Modi D3DTEX_DECAL und D3DTEX_MODULATE Texturfilterung unterstützt. Wenn diese Funktion nicht festgelegt ist, werden nur RGB-Texturen in diesen Modi unterstützt. Unabhängig davon, ob dieses Kennzeichen festgelegt ist, muss Alpha immer in den D3DTEX_DECAL_MASK-, D3DTEX_DECAL_ALPHA- und D3DTEX_MODULATE_ALPHA Filtermodi unterstützt werden, wenn diese Filtermodi verfügbar sind. |
D3DPTEXTURECAPS_ALPHAPALETTE | Palettenisierte Texturoberflächen, deren Paletten Alphainformationen enthalten, werden unterstützt (siehe das Flag DDPCAPS_ALPHA in der DDCAPS-Struktur in der DirectDraw SDK-Dokumentation). |
D3DPTEXTURECAPS_BORDER | Texturzuordnung entlang von Rahmen wird unterstützt. |
D3DPTEXTURECAPS_COLORKEYBLEND | Das Gerät kann die Farbtastenmischung durchführen. |
D3DPTEXTURECAPS_CUBEMAP | Das Gerät kann die Cubeumgebungszuordnung unterstützen. |
D3DPTEXTURECAPS_PERSPECTIVE | Die Perspektivische Korrektur wird unterstützt. Siehe D3DRENDERSTATE_TEXTUREPERSPECTIVE in der DirectX SDK-Dokumentation. |
D3DPTEXTURECAPS_POW2 | Unter typischen Bedingungen erfordert das Gerät, dass Texturen Breite und Höhe aufweisen, die als Potenzen von 2 angegeben sind. Diese Anforderung gilt nicht für Würfeltexturen oder Volumentexturen. Wenn dieses Kennzeichen festgelegt ist, kann auch das D3DPTEXTURECAPS_NONPOW2CONDITIONAL Flag festgelegt werden. |
D3DPTEXTURECAPS_PROJECTED | Das Gerät kann transformierte Texturkoordinaten durch die COUNTth-Texturkoordinate dividieren. Das Gerät kann also D3DTTFF_PROJECTED. Siehe 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 Mächte von 2 sind. Ein Gerät, das diese Funktion verfügbar macht, kann eine solche Textur verwenden, wenn alle folgenden Anforderungen erfüllt sind.
|
D3DPTEXTURECAPS_SQUAREONLY | Alle Texturen müssen quadratisch sein. |
D3DPTEXTURECAPS_TEXREPEATNOTSCALESBYSIZE | Texturindizes werden vor der Interpolation nicht durch die 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 sind, werden gezeichnet.) |
dwTextureFilterCaps
Gibt Texturzuordnungsfunktionen an. Dieses Mitglied kann eine oder mehrere der folgenden Sein:
Wert | Bedeutung |
---|---|
D3DPTFILTERCAPS_LINEAR | Bilinearfilterung wird unterstützt. Es wird ein gewichteter Mittelwert eines 2:2-Bereichs von Texeln verwendet, der das gewünschte Pixel umgibt. Dies gilt sowohl für das Vergrößern als auch für das Verkleineren. Wenn entweder 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 bilineare Filterung auf den beiden nächsten MIP-Karten aus, 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ächste Texel aus den beiden nächstgelegenen MIP-Kartenebenen und führt dann eine lineare Interpolation zwischen ihnen aus. |
D3DPTFILTERCAPS_MAGFAFLATCUBIC | Pro Stufe wird eine flache kubische Filterung für Vergrößerungstexturen unterstützt. Der flach kubische Vergrößerungsfilter wird durch das D3DTFG_FLATCUBIC Element der D3DTEXTUREMAGFILTER-Enumeration dargestellt. |
D3DPTFILTERCAPS_MAGFANISOTROPIC | Die anisotrope Filterung pro Stufe für Vergrößerungstexturen wird unterstützt. Der anisotrope Vergrößerungsfilter wird durch das D3DTFG_ANISOTROPIC Element der D3DTEXTUREMAGFILTER Enumeration dargestellt. |
D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC | Pro Stufe wird gaussische kubische Filterung für Vergrößerungstexturen unterstützt. Der Gaussian-kubische Vergrößerungsfilter wird durch das D3DTFG_GAUSSIANCUBIC Element der D3DTEXTUREMAGFILTER Enumeration dargestellt. |
D3DPTFILTERCAPS_MAGFLINEAR | Die interpolierte Interpolationsfilterung pro Stufe für Vergrößerungstexturen wird unterstützt. Der Bilinear-Interpolationsvergrößerungsfilter wird durch das D3DTFG_LINEAR Element der D3DTEXTUREMAGFILTER-Enumeration dargestellt. Gibt an, dass bilineare Filterung für den Vergrößerungsfilter unterstützt wird. |
D3DPTFILTERCAPS_MAGFPOINT | Die punktbezogene Filterung pro Stufe für Vergrößerungstexturen wird unterstützt. Der Punktbeispiel-Vergrößerungsfilter wird durch das D3DTFG_POINT Element der D3DTEXTUREMAGFILTER-Enumeration dargestellt. |
D3DPTFILTERCAPS_MINFANISOTROPIC | Die pro Stufe anisotrope Filterung zur Minimierung von Texturen wird unterstützt. Der anisotrope Minifizierungsfilter wird durch das D3DTFN_ANISOTROPIC Element der D3DTEXTUREMINFILTER Enumeration dargestellt. |
D3DPTFILTERCAPS_MINFLINEAR | Die Interpolationsfilterung pro Stufe für bilineare Interpolation zur Minimierung von Texturen wird unterstützt. Der bilineare Minifizierungsfilter wird durch das D3DTFN_LINEAR Element der D3DTEXTUREMINFILTER-Aufzählung dargestellt. |
D3DPTFILTERCAPS_MINFPOINT | Die punktbezogene Filterung pro Phase zur Minimierung von Texturen wird unterstützt. Der Punktbeispiel-Minimierungsfilter wird durch den D3DTFN_POINT Member der D3DTEXTUREMINFILTER-Enumeration dargestellt. |
D3DPTFILTERCAPS_MIPFLINEAR | Die Interpolationsfilterung pro Stufe für MIP-Karten (d. h. bilineare Filterung zwischen MIP-Ebenen) wird unterstützt. Der MIP-Zuordnungsfilter mit trilinearer Interpolation wird durch das D3DTFP_LINEAR Element der D3DTEXTUREMIPFILTER-Aufzählung dargestellt. |
D3DPTFILTERCAPS_MIPFPOINT | Die punktbezogene Filterung pro Stufe für MIP-Karten wird unterstützt. Der MIP-Zuordnungsfilter für Punktbeispiele wird durch das D3DTFP_POINT Element 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 mit den nächstgelegenen Koordinaten und führt dann einen gewichteten Mittelwert 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, die dem gewünschten Pixelwert am nächsten sind. |
D3DPTFILTERCAPS_NEAREST | Punktsampling wird unterstützt. Das Texel mit Koordinaten, die dem gewünschten Pixelwert am nächsten sind, wird verwendet. Dies gilt sowohl für das Vergrößern als auch für das Verkleineren. Wenn entweder das Vergrößern oder Verkleineren unterstützt wird, müssen beide unterstützt werden. |
dwTextureBlendCaps
Gibt Texturmischungsfunktionen an. Informationen zu den verschiedenen Texturmischungsmodi finden Sie im D3DRENDERSTATE_TEXTUREMAPBLEND aufgezählten Typ. Dieses Mitglied kann eine oder mehrere der folgenden Sein:
Wert | Bedeutung |
---|---|
D3DPTBLENDCAPS_ADD | Die Texturvermischung im Add-Mode wird unterstützt (D3DTBLEND_COPY aus dem D3DTEXTUREBLEND Aufzählungstyp). |
D3DPTBLENDCAPS_COPY | Die Texturvermischung im Kopiermodus wird unterstützt (D3DTBLEND_COPY aus dem D3DTEXTUREBLEND Aufzählungstyp). |
D3DPTBLENDCAPS_DECAL | Der Decal-Textur-Blending-Modus wird unterstützt (D3DTBLEND_DECAL aus dem D3DTEXTUREBLEND aufgezählten Typ). |
D3DPTBLENDCAPS_DECALALPHA | Der Decal-Alpha-Texturmischungsmodus wird unterstützt (D3DTBLEND_DECALALPHA aus dem D3DTEXTUREBLEND Aufzählungstyp). |
D3DPTBLENDCAPS_DECALMASK | Der Textur-Blendungsmodus für die Decalmaske wird unterstützt (D3DTBLEND_DECALMASK aus dem D3DTEXTUREBLEND Aufzählungstyp). |
D3DPTBLENDCAPS_MODULATE | Der Modulierungs-Textur-Blending-Modus wird unterstützt (D3DTBLEND_MODULATE aus dem D3DTEXTUREBLEND Aufzählungstyp). |
D3DPTBLENDCAPS_MODULATEALPHA | Der Modulate-Alpha-Texturmischungsmodus wird unterstützt (D3DTBLEND_MODULATEALPHA aus dem D3DTEXTUREBLEND Aufzählungstyp). |
D3DPTBLENDCAPS_MODULATEMASK | Der Texturmischungsmodus für modulierte Masken wird unterstützt (D3DTBLEND_MODULATEMASK aus dem D3DTEXTUREBLEND Aufzählungstyp). |
dwTextureAddressCaps
Gibt die Texturadressierungsfunktionen an. Dieses Element kann eine oder mehrere der folgenden Modi 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 D3DTSS_BORDERCOLOR Texturstufenzustand 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 Texturen 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 auf Adressen spiegeln. 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 Stipple an (bis zu 32 x 32).
Bemerkungen
Diese Struktur wurde durch D3DCAPS8 (siehe DirectX 8.0 SDK-Dokumentation) für DirectX 8.0 und höhere Laufzeiten ersetzt, ist jedoch für die Kompatibilität mit DirectX 7.0 und früheren Laufzeiten erforderlich. Ausführliche Informationen finden Sie unter Reporting DirectX 8.0 Style Direct3D Capabilities.
Diese Struktur wird verwendet, wenn ein Gerät erstellt wird und die Funktionen eines Geräts abgefragt werden. Es definiert mehrere Member in der D3DDEVICEDESC_V1-Struktur.
Anforderungen
Anforderung | Wert |
---|---|
Header- | d3dcaps.h (include D3dcaps.h) |