Freigeben über


LAYERPLANEDESCRIPTOR-Struktur (wingdi.h)

Die LAYERPLANEDESCRIPTOR-Struktur beschreibt das Pixelformat einer Zeichnungsoberfläche.

Syntax

typedef struct tagLAYERPLANEDESCRIPTOR {
  WORD     nSize;
  WORD     nVersion;
  DWORD    dwFlags;
  BYTE     iPixelType;
  BYTE     cColorBits;
  BYTE     cRedBits;
  BYTE     cRedShift;
  BYTE     cGreenBits;
  BYTE     cGreenShift;
  BYTE     cBlueBits;
  BYTE     cBlueShift;
  BYTE     cAlphaBits;
  BYTE     cAlphaShift;
  BYTE     cAccumBits;
  BYTE     cAccumRedBits;
  BYTE     cAccumGreenBits;
  BYTE     cAccumBlueBits;
  BYTE     cAccumAlphaBits;
  BYTE     cDepthBits;
  BYTE     cStencilBits;
  BYTE     cAuxBuffers;
  BYTE     iLayerPlane;
  BYTE     bReserved;
  COLORREF crTransparent;
} LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;

Member

nSize

Gibt die Größe dieser Datenstruktur an. Legen Sie diesen Wert auf sizeof(LAYERPLANEDESCRIPTOR) fest.

nVersion

Gibt die Version dieser Datenstruktur an. Legen Sie diesen Wert auf 1 fest.

dwFlags

Eine Reihe von Bitflags, die Eigenschaften der Ebenenebene angeben. Die Eigenschaften schließen sich im Allgemeinen nicht aus; Es kann eine beliebige Kombination von Bitflags festgelegt werden, wobei die Ausnahmen beachtet werden. Die folgenden Bitflagskonstanten werden definiert.

Wert Bedeutung
LPD_SUPPORT_OPENGL Die Ebenenebene unterstützt OpenGL-Zeichnung.
LPD_SUPPORT_GDI Die Ebenenebene unterstützt die GDI-Zeichnung. Die aktuelle Implementierung von OpenGL unterstützt dieses Flag nicht.
LPD_DOUBLEBUFFER Die Ebenenebene ist doppelt gepuffert. Eine Ebenenebene kann auch dann doppelt gepuffert werden, wenn die Standard Ebene einfach gepuffert ist und umgekehrt.
LPD_STEREO Die Schichtebene ist stereoskopisch. Eine Schichtebene kann stereoskopisch sein, auch wenn die Standard Ebene monoskopisch ist und umgekehrt.
LPD_SWAP_EXCHANGE In einer doppelt gepufferten Ebenenebene tauscht der Farbpuffer den Inhalt des Frontpuffers und des Backpuffers aus. Der Backpuffer enthält dann den Inhalt des Frontpuffers vor dem Austausch. Dieses Flag ist nur ein Hinweis und wird möglicherweise nicht von einem Treiber bereitgestellt.
LPD_SWAP_COPY Auf einer doppelt gepufferten Ebenenebene wird beim Austauschen des Farbpuffers der Inhalt des Backpuffers in den Frontpuffer kopiert. Der Austausch wirkt sich nicht auf den Inhalt des Backpuffers aus. Dieses Flag ist nur ein Hinweis und wird möglicherweise nicht von einem Treiber bereitgestellt.
LPD_TRANSPARENT Das crTransparent-Element dieser Struktur enthält einen transparenten Farb- oder Indexwert, mit dem die zugrunde liegenden Ebenen durch diese Ebene dargestellt werden können. Alle Ebenenebenen mit Ausnahme der untersten Nummerierten Haben eine transparente Farbe oder einen transparenten Index.
LPD_SHARE_DEPTH Die Ebenenebene teilt den Tiefenpuffer mit der Standard Ebene.
LPD_SHARE_STENCIL Die Ebenenebene teilt den Schablonenpuffer mit der Standard Ebene.
LPD_SHARE_ACCUM Die Ebenenebene teilt den Akkumulationspuffer mit der Standard Ebene.

iPixelType

Gibt den Typ der Pixeldaten an. Die folgenden Typen werden definiert.

Wert Bedeutung
LPD_TYPE_RGBA RGBA-Pixel. Jedes Pixel hat vier Komponenten: Rot, Grün, Blau und Alpha.
LPD_TYPE_COLORINDEX Farbindexpixel. Jedes Pixel verwendet einen Farbindexwert.

cColorBits

Gibt die Anzahl der Farbbitplanes in jedem Farbpuffer an. Bei RGBA-Pixeltypen ist dies die Größe des Farbpuffers, mit Ausnahme der Alphabitplanes. Bei Farbindexpixeln ist dies die Größe des Farbindexpuffers.

cRedBits

Gibt die Anzahl der roten Bitplanes in jedem RGBA-Farbpuffer an.

cRedShift

Gibt die Schichtanzahl für rote Bitplanes in jedem RGBA-Farbpuffer an.

cGreenBits

Gibt die Anzahl der grünen Bitplanes in jedem RGBA-Farbpuffer an.

cGreenShift

Gibt die Umschaltanzahl für grüne Bitplanes in jedem RGBA-Farbpuffer an.

cBlueBits

Gibt die Anzahl der blauen Bitplanes in jedem RGBA-Farbpuffer an.

cBlueShift

Gibt die Schichtanzahl für blaue Bitplanes in jedem RGBA-Farbpuffer an.

cAlphaBits

Gibt die Anzahl von Alphabitplanes in jedem RGBA-Farbpuffer an. Alpha-Bitplanes werden nicht unterstützt.

cAlphaShift

Gibt die Umschaltanzahl für Alphabitplanes in jedem RGBA-Farbpuffer an. Alpha-Bitplanes werden nicht unterstützt.

cAccumBits

Gibt die Gesamtzahl der Bitplanes im Akkumulationspuffer an.

cAccumRedBits

Gibt die Anzahl der roten Bitplanes im Akkumulationspuffer an.

cAccumGreenBits

Gibt die Anzahl der grünen Bitplanes im Akkumulationspuffer an.

cAccumBlueBits

Gibt die Anzahl der blauen Bitplanes im Akkumulationspuffer an.

cAccumAlphaBits

Gibt die Anzahl der Alphabitplanes im Akkumulationspuffer an.

cDepthBits

Gibt die Tiefe des Tiefenpuffers (Z-Achse) an.

cStencilBits

Gibt die Tiefe des Schablonenpuffers an.

cAuxBuffers

Gibt die Anzahl der Hilfspuffer an. Hilfspuffer werden nicht unterstützt.

iLayerPlane

bReserved

Wird nicht verwendet. Muss Null sein.

crTransparent

Wenn das LPD_TRANSPARENT-Flag festgelegt ist, gibt die transparente Farbe oder den Indexwert an. In der Regel ist der Wert 0.

Hinweise

Beachten Sie, wie oben dokumentiert, dass bestimmte Eigenschaften der Ebenenebene in der aktuellen Implementierung nicht unterstützt werden. Die Implementierung ist die Microsoft GDI-Softwareimplementierung von OpenGL. Hardwarehersteller, die Teile von OpenGL verbessern, unterstützen möglicherweise einige Eigenschaften der Ebenenebene, die von der generischen Implementierung nicht unterstützt werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile wingdi.h

Weitere Informationen

OpenGL unter Windows

PIXELFORMATDESCRIPTOR

Strukturen

wglCreateLayerContext

wglDescribeLayerPlane

wglGetLayerPaletteEntries

wglRealizeLayerPalette

wglSetLayerPaletteEntries

wglSwapLayerBuffers