D3DHAL_D3DEXTENDEDCAPS-Struktur (d3dhal.h)

D3DHAL_D3DEXTENDEDCAPS beschreibt zusätzliche 3D-Funktionen des Treibers.

Syntax

typedef struct _D3DHAL_D3DEXTENDEDCAPS {
  DWORD    dwSize;
  DWORD    dwMinTextureWidth;
  DWORD    dwMaxTextureWidth;
  DWORD    dwMinTextureHeight;
  DWORD    dwMaxTextureHeight;
  DWORD    dwMinStippleWidth;
  DWORD    dwMaxStippleWidth;
  DWORD    dwMinStippleHeight;
  DWORD    dwMaxStippleHeight;
  DWORD    dwMaxTextureRepeat;
  DWORD    dwMaxTextureAspectRatio;
  DWORD    dwMaxAnisotropy;
  D3DVALUE dvGuardBandLeft;
  D3DVALUE dvGuardBandTop;
  D3DVALUE dvGuardBandRight;
  D3DVALUE dvGuardBandBottom;
  D3DVALUE dvExtentsAdjust;
  DWORD    dwStencilCaps;
  DWORD    dwFVFCaps;
  DWORD    dwTextureOpCaps;
  WORD     wMaxTextureBlendStages;
  WORD     wMaxSimultaneousTextures;
  DWORD    dwMaxActiveLights;
  D3DVALUE dvMaxVertexW;
  WORD     wMaxUserClipPlanes;
  WORD     wMaxVertexBlendMatrices;
  DWORD    dwVertexProcessingCaps;
  DWORD    dwReserved1;
  DWORD    dwReserved2;
  DWORD    dwReserved3;
  DWORD    dwReserved4;
} D3DHAL_D3DEXTENDEDCAPS;

Member

dwSize

Gibt die Größe dieser D3DHAL_D3DEXTENDEDCAPS-Struktur in Byte an.

dwMinTextureWidth

Geben Sie die minimale Texturbreite in Pixel an, die vom Treiber oder Gerät unterstützt wird. Dieser Member ist in der Regel eine Leistung von 2. Diese Member werden als Hinweise für die Anwendung bereitgestellt, und es liegt in der Verantwortung der Anwendung, die Texturgrößen bei Bedarf anzupassen.

dwMaxTextureWidth

Geben Sie die maximale Texturbreite in Pixel an, die vom Treiber oder Gerät unterstützt wird. Dieser Member ist in der Regel eine Leistung von 2. Diese Member werden als Hinweise für die Anwendung bereitgestellt, und es liegt in der Verantwortung der Anwendung, die Texturgrößen bei Bedarf anzupassen.

dwMinTextureHeight

Geben Sie die minimale Texturhöhe in Pixel an, die vom Treiber unterstützt wird. Dieser Member ist in der Regel eine Leistung von 2.

dwMaxTextureHeight

Geben Sie die maximale Texturhöhe in Pixel an, die vom Treiber unterstützt wird. Dieser Member ist in der Regel eine Leistung von 2.

dwMinStippleWidth

Geben Sie die minimale Stipplebreite in Pixel an, die vom Treiber unterstützt wird.

dwMaxStippleWidth

Geben Sie die maximale Stipplebreite in Pixel an, die vom Treiber unterstützt wird.

dwMinStippleHeight

Geben Sie die minimale Stipplehöhe in Pixel an, die vom Treiber unterstützt wird.

dwMaxStippleHeight

Geben Sie die maximale Stipplehöhe in Pixel an, die vom Treiber unterstützt wird.

dwMaxTextureRepeat

Gibt den vollständigen Bereich der ganzzahligen (subfractionalen) Bits der postnormalisierten Texturindizes an. Wenn das D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE Bits festgelegt ist, wird von diesem Member angegeben, wie oft eine Textur umschlossen werden kann. Wenn das D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE Bits nicht festgelegt ist, wird die Anzahl der Zeiten, die eine Textur umschlossen werden kann, durch den Ausdruck angegeben: dwMaxTextureRepeat * (Texturgröße).

dwMaxTextureAspectRatio

Gibt das maximale Texturseitenverhältnis an, das von der Hardware unterstützt wird. Dieser Member ist in der Regel eine Leistung von 2. Dieses maximale Seitenverhältnis wird als Maß für die Höhe der Textur in Pixeln dividiert durch die Breite in Pixeln oder als Breite geteilt durch die Höhe bereitgestellt, je nachdem, was das größere Ergebnis ergibt. Beispielsweise ist eine Textur, die 8192 Pixel breit und 1 Pixel hoch oder 1 Pixel breit und 8192 hoch ist, mit einem Anzeigegerät ungültig, das nur ein maximales Seitenverhältnis von 4092 unterstützt. Wenn die Hardware im Seitenverhältnis nicht eingeschränkt ist, ist dwMaxTextureAspectRatio das größere von dwMaxTextureWidth und dwMaxTextureHeight.

dwMaxAnisotropy

Gibt den maximal gültigen Wert für den D3DRENDERSTATE_ANISOTROPY Renderzustand an. Wenn die Hardware des Treibers keine anisotrope Filterung unterstützt, sollte der Treiber diesen Member auf 1 festlegen. Das Festlegen dieses Elements auf 0 stellt einen ungültigen Wert dar.

dvGuardBandLeft

dvGuardBandTop

dvGuardBandRight

dvGuardBandBottom

Geben Sie die Bildschirmraumkoordinaten in Pixeln des Guard-Band-Clipbereichs an. Die obere linke Ecke dieses Rechtecks hat Koordinaten (dvGuardBandLeft, dvGuardBandTop). Die linke untere Ecke hat Koordinaten (dvGuardBandRight, dvGuardBandBottom). Koordinaten innerhalb dieses Rechtecks, aber außerhalb des Viewportrechtecks werden automatisch abgeschnitten.

dvExtentsAdjust

Gibt die Anzahl von Pixeln an, die erforderlich sind, um das Blöckesrechteck nach außen anzupassen, um Antialiasingkerne aufzunehmen.

dwStencilCaps

Gibt die Schablonenpuffervorgänge an, die vom Treiber oder Gerät unterstützt werden. Weitere Beschreibungen der Schablonenpuffervorgänge in der folgenden Tabelle finden Sie unter D3DSTENCILOP in der DirectX SDK-Dokumentation. Es wird davon ausgegangen, dass Schablonenvorgänge für alle drei Renderzustände des Schablonenpuffervorgangs (D3DRENDERSTATE_STENCILFAIL, D3DRENDERSTATE_STENCILPASS und D3DRENDERSTATE_STENCILZFAIL) gültig sind. Dieser Member kann ein bitweises OR mit einem der folgenden Werte sein:

Wert Schablonenpuffervorgang
D3DSTENCILCAPS_DECR Der D3DSTENCILOP_DECR-Vorgang wird unterstützt.
D3DSTENCILCAPS_DECRSAT Der vorgang D3DSTENCILOP_DECRSAT wird unterstützt.
D3DSTENCILCAPS_INCR Der D3DSTENCILOP_INCR-Vorgang wird unterstützt.
D3DSTENCILCAPS_INCRSAT Der vorgang D3DSTENCILOP_INCRSAT wird unterstützt.
D3DSTENCILCAPS_INVERT Der D3DSTENCILOP_INVERT-Vorgang wird unterstützt.
D3DSTENCILCAPS_KEEP Der D3DSTENCILOP_KEEP-Vorgang wird unterstützt.
D3DSTENCILCAPS_REPLACE Der vorgang D3DSTENCILOP_REPLACE wird unterstützt.
D3DSTENCILCAPS_ZERO Der vorgang D3DSTENCILOP_ZERO wird unterstützt.

dwFVFCaps

Gibt die Anzahl der Texturkoordinaten an, die der Treiber verarbeiten kann. Dieser Wert kann eine ganze Zahl im Bereich von 0 bis 8 sein, wobei 0 angibt, dass der Treiber texturieren nicht unterstützt, 1 gibt an, dass der Treiber nur einen Satz von Texturkoordinaten verarbeiten kann, 2 gibt an, dass der Treiber zwei Sätze von Texturkoordinaten verarbeiten kann usw.

Ein Treiber muss in der Lage sein, alle Texturkoordinaten zu analysieren, die in den Vertexdaten vorhanden sind, unabhängig von der Anzahl der Texturkoordinaten, die der Treiber tatsächlich verwendet. Der Treiber sollte den Index verwenden, der mit dem D3DTSS_TEXCOORDINDEX-Wert der D3DTEXTURESTAGESTATETYPE-Enumeration bereitgestellt wird, der in der DirectX SDK-Dokumentation beschrieben wird, um zu bestimmen, welche Texturkoordinate beim Rendern verwendet werden soll.

dwTextureOpCaps

Gibt die vom Gerät unterstützten Texturvorgänge an. Beschreibungen der in der folgenden Tabelle aufgeführten Texturvorgänge finden Sie unter D3DTEXTUREOP in der DirectX SDK-Dokumentation. Dieser Member kann ein bitweises OR der folgenden Werte sein:

Wert Unterstützter Texturvorgang
D3DTEXOPCAPS_ADD Der D3DTOP_ADD Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_ADDSIGNED Der D3DTOP_ADDSIGNED Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_ADDSIGNED2X Der D3DTOP_ADDSIGNED2X Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_ADDSMOOTH Der D3DTOP_ADDSMOOTH Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_BLENDCURRENTALPHA Der D3DTOP_BLENDCURRENTALPHA Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_BLENDDIFFUSEALPHA Der D3DTOP_BLENDDIFFUSEALPHA Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_BLENDFACTORALPHA Der D3DTOP_BLENDFACTORALPHA Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_BLENDTEXTUREALPHA Der D3DTOP_BLENDTEXTUREALPHA Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM Der D3DTOP_BLENDTEXTUREALPHAPM Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_BUMPENVMAP. Der D3DTOP_BUMPENVMAP Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE Der D3DTOP_BUMPENVMAPLUMINANCE Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_DISABLE Der D3DTOP_DISABLE Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_DOTPRODUCT3 Der D3DTOP_DOTPRODUCT3 Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_MODULATE Der D3DTOP_MODULATE Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_MODULATE2X Der D3DTOP_MODULATE2X Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_MODULATE4X Der D3DTOP_MODULATE4X Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR Der D3DTOP_MODULATEALPHA_ADDCOLOR Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA Der D3DTOP_MODULATEALPHA_ADDCOLOR Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR Der D3DTOP_MODULATEINVALPHA_ADDCOLOR Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA Der D3DTOP_MODULATEINVCOLOR_ADDALPHA Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_PREMODULATE Der D3DTOP_PREMODULATE Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_SELECTARG1 Der D3DTOP_SELECTARG1 Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_SELECTARG2 Der D3DTOP_SELECTARG2 Texturmischungsvorgang wird von diesem Gerät unterstützt.
D3DTEXOPCAPS_SUBTRACT Der D3DTOP_SUBTRACT Texturmischungsvorgang wird von diesem Gerät unterstützt.

wMaxTextureBlendStages

Gibt die maximale Anzahl von Texturmischungsphasen an, die von diesem Gerät unterstützt werden.

wMaxSimultaneousTextures

Gibt die maximale Anzahl von Texturen an, die gleichzeitig an die Texturmischungsphasen für dieses Gerät gebunden werden können. Das heißt, wMaxSimultaneousTextures gibt an, wie viele der Texturphasen texturen über die lDirect3DDevice7::SetTexture-Methode an sie gebunden werden können. Weitere Informationen zu dieser Methode finden Sie in der Microsoft Windows SDK-Dokumentation.

dwMaxActiveLights

Gibt die maximale Anzahl aktiver Lichter an, die von diesem Gerät unterstützt werden. Dies muss nur in Treibern angegeben werden, die Hardwaretransformation und Beleuchtung unterstützen (und daher D3DDEVCAPS_HWTRANSFORMANDLIGHT in ihren Gerätekappen angeben).

dvMaxVertexW

Gibt den maximalen W-Bereich an, der von diesem Gerät unterstützt wird. Dies muss nur in Treibern angegeben werden, die die W-Pufferung unterstützen (und daher D3DPRASTERCAPS_WBUFFER in ihren Rasterungskappen angeben). Die Einheiten für W-Tiefenwerte hängen von der ausgeführten Anwendung ab. Beispielsweise kann die Anwendung die Tiefe in Metern angeben.

wMaxUserClipPlanes

Gibt die maximale Anzahl der unterstützten benutzerdefinierten Clipebenen an.

wMaxVertexBlendMatrices

Gibt die Anzahl von Weltmatrizen an, die für die Vertexmischung unterstützt werden.

dwVertexProcessingCaps

Gibt die Vertexverarbeitungsgrenzen an, die vom Treiber unterstützt werden. Dieser Member kann ein bitweises OR der folgenden Werte sein:

Wert Bedeutung
D3DVTXPCAPS_DIRECTIONALLIGHTS Das Gerät kann Direktlichter ausführen.
D3DVTXPCAPS_LOCALVIEWER Das Gerät kann einen lokalen Viewer ausführen.
D3DVTXPCAPS_MATERIALSOURCE7 Das Gerät kann DirectX 7.0-Farbmaterialquellenvorgänge ausführen.
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER Das Gerät unterstützt keine Texturgenerierung im nichtlokalen Viewermodus.
D3DVTXPCAPS_POSITIONALLIGHTS Das Gerät kann Positionslichter (einschließlich Punkt und Spot) durchführen.
D3DVTXPCAPS_TEXGEN Das Gerät kann texgen.
D3DVTXPCAPS_TEXGEN_SPHEREMAP Das Gerät unterstützt D3DTSS_TCI_SPHEREMAP.
D3DVTXPCAPS_TWEENING Das Gerät kann Vertex-Tweening ausführen.

dwReserved1

Ist für das System reserviert.

dwReserved2

Ist für das System reserviert.

dwReserved3

Ist für das System reserviert.

dwReserved4

Ist für das System reserviert.

Hinweise

Der Treiber ordnet diese Struktur zu und initialisiert sie null und legt die entsprechenden Werte in den unterstützten Membern fest. Die DdGetDriverInfo-Funktion des Treibers gibt einen Zeiger auf diese Struktur zurück, wenn diese Funktion mit der GUID_D3DExtendedCaps GUID aufgerufen wird.

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. lDirect3DDevice3) keine Ausführungspuffer unterstützt.

Anforderungen

Anforderung Wert
Header d3dhal.h (include D3dhal.h)

Weitere Informationen

DdGetDriverInfo