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) |