Freigeben über


DDSCAPS2-Struktur (ddraw.h)

Die DDSCAPS2-Struktur definiert zusätzliche Funktionen eines Microsoft DirectDraw-Surface-Objekts.

Syntax

typedef struct _DDSCAPS2 {
  DWORD dwCaps;
  DWORD dwCaps2;
  DWORD dwCaps3;
  union {
    DWORD dwCaps4;
    DWORD dwVolumeDepth;
  } DUMMYUNIONNAMEN;
} DDSCAPS2;

Member

dwCaps

Gibt eine Reihe von Flags an, die die Funktionen der Oberfläche darstellen. Die Flags in diesem Member sind identisch mit denen im entsprechenden Member der DDSCAPS-Struktur .

dwCaps2

Gibt einen Satz von Flags an, die auf zusätzliche Oberflächenfunktionen hinweisen. Dieses Element kann mindestens eins der folgenden Funktionsflags enthalten. Jedes dieser Flags, mit Ausnahme DDSCAPS2_TEXTUREMANAGE, wird von der Anwendung festgelegt, wenn die Anwendung ihre CreateSurface-Methode aufruft.

Flag Bedeutung

DDSCAPS2_ADDITIONALPRIMARY

Nur Microsoft DirectX 9.0 und höhere Versionen.

Gibt an, dass untergeordnete Kopf eines mehrstufigen Karte nicht mehr die Kontrolle über ihren Videospeicher haben, nachdem Oberflächen für diese untergeordneten Köpfe mit diesem Bitsatz erstellt wurden. Sobald solche Oberflächen zerstört sind, erlangen untergeordnete Köpfe die Kontrolle über ihr Gedächtnis. Weitere Informationen finden Sie unter Verwalten Multiple-Head Arbeitsspeichers.

DDSCAPS2_COMMANDBUFFER

Markiert einen Befehlspuffer, der von Microsoft Direct3D zum Batchen von Befehlen verwendet wird.

DDSCAPS2_CUBEMAP

Diese Oberfläche ist eine kubische Umgebungskarte. Wenn Sie dieses Flag verwenden, geben Sie auch die Gesichter der kubischen Umgebungskarte an, die erstellt werden soll.

DDSCAPS2_CUBEMAP_POSITIVEX

Dieses Flag wird zusammen mit dem DDSCAPS2_CUBEMAP-Flag verwendet, um das positive X-Gesicht einer kubischen Umgebungskarte zu erstellen.

DDSCAPS2_CUBEMAP_NEGATIVEX

Dieses Flag wird zusammen mit dem DDSCAPS2_CUBEMAP-Flag verwendet, um das negative X-Gesicht einer kubischen Umgebungskarte zu erstellen.

DDSCAPS2_CUBEMAP_POSITIVEY

Dieses Flag wird zusammen mit dem DDSCAPS2_CUBEMAP-Flag verwendet, um das positive Y-Gesicht einer kubischen Umgebungskarte zu erstellen.

DDSCAPS2_CUBEMAP_NEGATIVEY

Dieses Flag wird mit dem DDSCAPS2_CUBEMAP-Flag verwendet, um das negative Y-Gesicht einer kubischen Umgebungskarte zu erstellen.

DDSCAPS2_CUBEMAP_POSITIVEZ

Dieses Flag wird mit dem DDSCAPS2_CUBEMAP-Flag verwendet, um das positive Z-Gesicht einer kubischen Umgebungskarte zu erstellen.

DDSCAPS2_CUBEMAP_NEGATIVEZ

Dieses Flag wird mit dem DDSCAPS2_CUBEMAP-Flag verwendet, um das negative Z-Gesicht einer kubischen Umgebungskarte zu erstellen.

DDSCAPS2_CUBEMAP_ALLFACES

Dieses Flag wird mit dem DDSCAPS2_CUBEMAP-Flag verwendet, um alle sechs Gesichter einer kubischen Umgebungskarte zu erstellen.

DDSCAPS2_D3DTEXTUREMANAGE

Die Textur wird immer von Direct3D verwaltet.

DDSCAPS2_DISCARDBACKBUFFER

Nur DirectX 8.0 und höhere Versionen.

Gibt an, dass die Beibehaltung des Backpuffers nicht erforderlich ist. Sie wird auf der primären Oberfläche und den Backpuffern festgelegt, wenn die Anwendung D3DSWAPEFFECT_DISCARD für die Gegenwarts-API festgelegt hat. Nur DirectX 9.0 und höhere Versionen. Gibt an, dass die Beibehaltung der Tiefenschablonenoberfläche nicht erforderlich ist.

DDSCAPS2_DONOTPERSIST

Die verwaltete Oberfläche kann sicher verloren werden.

DDSCAPS2_ENABLEALPHACHANNEL

Nur DirectX 8.1 und höhere Versionen.

Gibt an, Oberflächen zu erstellen, die Teil einer primären Flippingkette sind oder sich in eigenständigen Backpuffern befinden. Dieses Flag aktiviert den Alphakanal. Weitere Informationen finden Sie unter Aktivieren von Alphakanälen in Full-Screen Zurückpuffern.

DDSCAPS2_EXTENDEDFORMATPRIMARY

Nur DirectX 9.0 und höhere Versionen.

Gibt an, eine primäre Dummyoberfläche für die Verwendung mit einem nicht standardmäßigen Anzeigemodus zu erstellen. Weitere Informationen finden Sie unter Wechseln zwischen Standard- und Nichtstandardmodus.

DDSCAPS2_HARDWAREDEINTERLACE

Der Treiber muss das Interlaced-Signal in progressive Frames konvertieren. Die DDSCAPS_VIDEOPORT- und DDSCAPS_OVERLAY-Flags in dieser Struktur müssen ebenfalls festgelegt werden.

DDSCAPS2_HINTANTIALIASING

Die Anwendung verwendet Antialiasing. Dieses Flag ist nur gültig, wenn auch das DDSCAPS_3DDEVICE-Flag festgelegt ist.

DDSCAPS2_HINTDYNAMIC

Die Anwendung aktualisiert die Oberfläche häufig. Für Oberflächen mit diesem Flagsatz muss auch das DDSCAPS_TEXTURE-Flag in diesem Struktursatz vorhanden sein. Dieses Flag kann nicht mit dem DDSCAPS2_HINTSTATIC- oder DDSCAPS2_OPAQUE-Flags verwendet werden.

DDSCAPS2_HINTSTATIC

Die Anwendung aktualisiert die Oberfläche selten, erfordert jedoch weiterhin Zugriff. Für Oberflächen mit diesem Flagsatz muss auch das DDSCAPS_TEXTURE-Flag in diesem Struktursatz vorhanden sein. Dieses Flag kann nicht mit dem DDSCAPS2_HINTDYNAMIC- oder DDSCAPS2_OPAQUE-Flags verwendet werden.

DDSCAPS2_INDEXBUFFER

Nur DirectX 8.0 und höhere Versionen.

Markiert einen Indexpuffer, der von der Anwendung erstellt und gesteuert wird.

DDSCAPS2_MIPMAPSUBLEVEL

Es ermöglicht eine einfachere Verwendung von GetAttachedSurface anstelle von EnumAttachedSurfaces für Oberflächenkonstrukte wie Cubezuordnungen, in denen mehr als eine Mipmap-Oberfläche an die Stammoberfläche angefügt ist. Dies sollte auf allen Oberflächen auf Nichttopebene in einer mipmappenbasierten Cubezuordnung festgelegt werden, damit ein Aufruf von GetAttachedSurface zwischen Gesichtern der obersten Ebene und angefügten Mipmap-Ebenen unterscheiden kann. Dieses Funktionsbit wird von CreateSurface ignoriert.

DDSCAPS2_NOTUSERLOCKABLE

Nur DirectX 8.0 und höhere Versionen.

Legen Sie für den primären Puffer und den Back-Puffer fest, wenn die Umdrehungskette nicht gesperrt werden kann, oder für jedes Renderziel, das nicht gesperrt werden kann. Dadurch können Treiber im Hintergrund Optimierungen durchführen. Beachten Sie, dass es immer noch möglich ist, die Oberflächen zu sperren, sodass der Treiber diese Fälle verarbeiten muss, aber solche Sperren sind selten und werden nicht erwartet, dass sie schnell sind. Der Treiber kann auch bestimmen, ob der Tiefen-/Schablonenpuffer durch das Vorhandensein dieses Flags gesperrt werden kann.

DDSCAPS2_NPATCHES

Nur DirectX 8.0 und höhere Versionen.

Gibt an, dass die Vertexpufferdaten zum Rendern von n-Patches verwendet werden können.

DDSCAPS2_OPAQUE

Die Anwendung wird die Oberfläche für den Rest der Lebensdauer dieser Oberfläche nie sperren, aufteilen oder aktualisieren. Der Treiber kann die Oberfläche komprimieren oder neu anordnen, ohne sie dekomprimieren zu müssen. Für Oberflächen mit diesem Flagsatz muss auch das DDSCAPS_TEXTURE-Flag in diesem Struktursatz vorhanden sein. Dieses Flag kann nicht mit dem DDSCAPS2_HINTDYNAMIC- oder DDSCAPS2_HINTSTATIC-Flags verwendet werden.

DDSCAPS2_POINTS

Nur DirectX 8.0 und höhere Versionen.

Gibt an, dass die Vertexpufferdaten verwendet werden können, um Punkte und Punktsprites zu rendern.

DDSCAPS2_RTPATCHES

Nur DirectX 8.0 und höhere Versionen.

Gibt an, dass die Vertexpufferdaten zum Rendern von rt-patches verwendet werden können.

DDSCAPS2_STEREOSURFACELEFT

Diese Oberfläche ist Teil einer Stereo-Flipping-Kette. Wenn dieses Flag während eines CreateSurface-Aufrufs festgelegt wird, werden für jeden Puffer in der primären Flippingkette ein Stereo-Oberflächenpaar erstellt. Sie müssen eine komplexe Flippingkette (mit Rückpuffern) erstellen. Sie können keine einzelnen Stereooberflächen erstellen. Die Flip-Methode erfordert Rückpuffer, sodass mindestens 4 Oberflächen erstellt werden müssen.

Wenn dieses Flag außerdem in einer DDSURFACEDESC-Struktur als Ergebnis eines EnumDisplayModes- oder GetDisplayMode-Aufrufs festgelegt wird, wird die Unterstützung für Stereo in diesem Modus angegeben.

DDSCAPS2_TEXTUREMANAGE

Der Client gibt an, dass diese Texturoberfläche nach Möglichkeit vom Treiber verwaltet werden soll. Andernfalls wird sie vom direkten Direct3D-Modus verwaltet. Dieses Flag kann nur für Texturoberflächen verwendet werden (DDSCAPS_TEXTURE Flag, das im dwCaps-Element festgelegt ist). Weitere Informationen finden Sie unter Automatische Texturverwaltung in der Direct3D-Dokumentation für den direkten Modus.

DDSCAPS2_VERTEXBUFFER

Markiert einen expliziten Vertexpuffer, der von der Anwendung erstellt und gesteuert wird.

DDSCAPS2_VOLUME

Nur DirectX 8.0 und höhere Versionen.

Dieses Flag wird festgelegt, wenn die Textur zusätzlich zu Breite und Höhe tiefe hat.

dwCaps3

Nur DirectX 8.0- und DirectX 8.1-Versionen.

Gibt die Anzahl der Stichproben für eine multisampledierte Oberfläche an. Dieses Feld enthält einen der Werte des aufgezählten Typs D3DMULTISAMPLE_TYPE. Wenn eine Oberfläche nicht multisampled ist, weist dwCaps3 den Wert D3DMULTISAMPLE_NONE (0) auf.

Nur DirectX 9.0 und höhere Versionen.

Gibt eine Reihe von Bits an, die zusätzliche Oberflächenfunktionen angeben. Dieser Member kann ein bitweises OR der folgenden Bits sein.

Bits Bedeutung

Bits in der DDSCAPS3_MULTISAMPLE_MASK-Maske (0x0000001FL).

Die ersten fünf Bits von dwCaps3 geben die Anzahl der Stichproben für eine Oberfläche mit mehreren Stichproben an. Die Anzahl der Stichproben kann mithilfe eines der Werte des aufgezählten Typs D3DMULTISAMPLE_TYPE angegeben werden. Wenn eine Oberfläche nicht multisampled ist, ist dieser Wert D3DMULTISAMPLE_NONE (0).

Bits in der DDSCAPS3_MULTISAMPLE_QUALITY_MASK-Maske (0x000000E0L).

Die nächsten drei Bits von dwCaps3 geben die Qualität der Renderingbeispiele auf einer Oberfläche mit mehreren Stichproben an. Die Qualitätsstufe muss eine Zahl von 0 bis 7 sein, die eine Qualitätsstufe von 1 bis 8 darstellt. Beachten Sie, dass selbst wenn eine Oberfläche nicht multisampled ist (angegeben in den ersten fünf Bits mit D3DMULTISAMPLE_NONE), dass sie trotzdem eine Qualitätsstufe größer als 1 haben kann (angegeben mit einer Zahl größer als 0).

DDSCAPS3_RESERVED1 (0x00000100L)

Reserviert

DDSCAPS3_VIDEO (0x00000200L)

Gibt an, dass das Renderziel Videodaten enthält. Beachten Sie, dass mit diesem Flag mehrere Renderziele erstellt werden können. Wenn zwei oder mehr dieser Renderziele zum gleichen Direct3D-Kontext gehören, bestimmt der Treiber, dass diese Renderziele alle denselben Videostream anzeigen, unabhängig davon, ob die Renderzieloberflächen miteinander verbunden sind.

DDSCAPS3_LIGHTWEIGHTMIPMAP (0x00000400L)

Gibt an, ob diese Oberfläche leichte Mip-Werte aufweist.

DDSCAPS3_AUTOGENMIPMAP (0x00000800L)

Gibt an, dass die mip-Unterebenen für diese Oberfläche automatisch generiert werden.

DDSCAPS3_DMAP (0x00001000L)

Gibt eine Verschiebungszuordnungstextur an, die vom Verschiebungsdiagramm-Sampler in der Tessellationseinheit abgetastet werden kann.

DUMMYUNIONNAMEN

DUMMYUNIONNAMEN.dwCaps4

Das niedrige Wort ist die Tiefe für eine Volumentextur.

DUMMYUNIONNAMEN.dwVolumeDepth

Gibt die Bittiefe der Volumetextur an.

Hinweise

Diese Struktur wird vom Treiber verwendet, um die Vom Treiber unterstützten Oberflächentypen zu melden. Sie wird auch von einer Anwendung ausgefüllt, um den Typ der zu erstellenden Oberfläche anzugeben.

Anforderungen

   
Kopfzeile ddraw.h