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