Freigeben über


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;

Angehörige

dwSize

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

dwMinTextureWidth

Geben Sie die minimale Texturbreite in Pixel an, die vom Treiber oder Gerät unterstützt wird. Dieses Element ist in der Regel eine Potenz 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. Dieses Element ist in der Regel eine Potenz 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. Dieses Element ist in der Regel eine Potenz von 2.

dwMaxTextureHeight

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

dwMinStippleWidth

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

dwMaxStippleWidth

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

dwMinStippleHeight

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

dwMaxStippleHeight

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

dwMaxTextureRepeat

Gibt den vollständigen Bereich der ganzzahligen Bits (subfractional) der postnormalisierten Texturindizes an. Wenn das D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE Bit festgelegt ist, wird durch dieses Element die Anzahl der Male angegeben, mit denen eine Textur umbrochen werden kann. Wenn das D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE Bit nicht festgelegt ist, wird die Anzahl der Zeit, mit der eine Textur umbrochen werden kann, durch den Ausdruck angegeben: dwMaxTextureRepeat * (Texturgröße).

dwMaxTextureAspectRatio

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

dwMaxAnisotropy

Gibt den maximal gültigen Wert für den D3DRENDERSTATE_ANISOTROPY Renderzustand an. Wenn die Hardware des Treibers die anisotrope Filterung nicht unterstützt, sollte der Treiber dieses Element 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 untere linke Ecke hat Koordinaten (dvGuardBandRight, dvGuardBandBottom). Koordinaten innerhalb dieses Rechtecks, aber außerhalb des Viewportrechtecks werden automatisch abgeschnitten.

dvExtentsAdjust

Gibt die Anzahl der Pixel an, die erforderlich sind, um das Ausmaß des Rechtecks nach außen anzupassen, um Antialiasing-Kernel aufzunehmen.

dwStencilCaps

Gibt die vom Treiber oder Gerät unterstützten Schablonenpuffervorgänge an. Weitere Beschreibungen der in der folgenden Tabelle gezeigten Schablonenpuffervorgänge finden Sie in der DirectX SDK-Dokumentation D3DSTENCILOP. Schablonenvorgänge werden als gültig für alle drei Schablonenpuffervorgangsrenderungszustände (D3DRENDERSTATE_STENCILFAIL, D3DRENDERSTATE_STENCILPASS und D3DRENDERSTATE_STENCILZFAIL) verwendet. Dieses Element kann ein bitweiser ODER einer der folgenden Werte sein:

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

dwFVFCaps

Gibt die Anzahl der Texturkoordinaten an, die der Treiber verarbeiten kann. Dieser Wert kann eine ganze Zahl im Bereich 0 bis 8 sein, wobei 0 angibt, dass der Treiber texturieren nicht unterstützt, 1 gibt an, dass der Treiber nur eine Reihe 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 mit dem D3DTSS_TEXCOORDINDEX Wert der D3DTEXTURESTAGESTATETYPE Enumeration bereitgestellten Index verwenden, 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. In der DirectX SDK-Dokumentation finden Sie D3DTEXTUREOP Beschreibungen der in der folgenden Tabelle aufgeführten Texturvorgänge. Dieses Element kann ein bitweiser OR der folgenden Werte sein:

Wert Texturvorgang unterstützt
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 ü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 Rasterungsbuchstaben angeben). Die Einheiten für W-Tiefenwerte hängen von der ausgeführten Anwendung ab. Die Anwendung kann z. B. Tiefe in Metern angeben.

wMaxUserClipPlanes

Gibt die maximale Anzahl von benutzerdefinierten Clipebenen an, die unterstützt werden.

wMaxVertexBlendMatrices

Gibt die Anzahl der weltmatrizen an, die für die Vertexmischung unterstützt werden.

dwVertexProcessingCaps

Gibt die Vertexverarbeitungskappen an, die vom Treiber unterstützt werden. Dieses Element kann ein bitweiser OR der folgenden Werte sein:

Wert Bedeutung
D3DVTXPCAPS_DIRECTIONALLIGHTS Das Gerät kann direktionale Lichter ausführen.
D3DVTXPCAPS_LOCALVIEWER Das Gerät kann den 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 nichtlocal Viewer-Modus.
D3DVTXPCAPS_POSITIONALLIGHTS Das Gerät kann Positionslichter (einschließlich Punkt und Spot) ausführen.
D3DVTXPCAPS_TEXGEN Das Gerät kann Texgen ausführen.
D3DVTXPCAPS_TEXGEN_SPHEREMAP Das Gerät unterstützt D3DTSS_TCI_SPHEREMAP.
D3DVTXPCAPS_TWEENING Das Gerät kann vertex tweening ausführen.

dwReserved1

Reserviert für die Systemverwendung.

dwReserved2

Reserviert für die Systemverwendung.

dwReserved3

Reserviert für die Systemverwendung.

dwReserved4

Reserviert für die Systemverwendung.

Bemerkungen

Der Treiber weist diese Struktur zu und initialisiert diese Struktur und legt entsprechende 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 einfüllt, kann er Werte für die Ausführung von Pufferfunktionen festlegen, auch wenn die Schnittstelle zum Abrufen der Funktionen verwendet wird (z. B. lDirect3DDevice3) keine Ausführungspuffer unterstützt.

Anforderungen

Anforderung Wert
Header- d3dhal.h (einschließlich D3dhal.h)

Siehe auch

DdGetDriverInfo-