WGL ARB pixel format

Aus DGL Wiki
Version vom 12. Juli 2008, 10:35 Uhr von Traude (Diskussion | Beiträge) (Ressourcen: Spezifikations-Link berichtigt)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Info DGL.png Die Orginalspezifikation finden Sie unter "Ressourcen" am Ende des Artikels.


Abfragestring

WGL_ARB_pixel_format

Beschreibung

Diese Extension ersetzt die Funktionen GetPixelFormat und ChoosePixelFormat durch flexieblere Funktionen welche eine Parameterliste variabler Länge erhalten können.

Verwendung

Nachdem man mit wglChoosePixelFormatARB im Array piFormats die (Integer-) ID eines Pixel Formates erhalten hat, und mit wglGetPixelFormatAttribARB geprüft hat ob die nicht spezifiezierten Anforderungen ebenfalls passen, setzt man mittels SetPixelFormat( hdc, Pixel-Format-ID, NIL ); das gewünschte Format.

Neue Funktionen

Neue Tokens

Folgende Attribute können bei wglChoosePixelFormatARB in der piAttribIList und der pfAttribFList Liste angegeben werden. Der in dieser Liste darauffolgende Wert muss einem Wert eines bestimmten Datentyps entsprechen und wird teils als exaktes und teils als minimum - Kriterium bei der Suche nach Pixel Formaten verwendet. Die selben Attribute werden auch für piAttributes von wglGetPixelFormatAttribARB verwendet.

Attribut Hex-Code Datentyp Kriterientyp Beschreibung
WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 integer ignoriert Die Anzahl der Pixel Formate für diesen Device Context. Der iLayerPlane- und iPixelFormat-Parameter wird ignoriert wenn dieses Attribut angegeben wird.
WGL_DRAW_TO_WINDOW_ARB 0x2001 boolean exakt True wenn das Pixel Format für ein Fenster verwendet werden kann. Der iLayerPlane Parameter wird ignoriert wenn dieses Attribut angegeben wird.
WGL_DRAW_TO_BITMAP_ARB 0x2002 boolean exakt True wenn dieses Pixel Format für ein Bitmap verwendet werden kann. Der iLayerPlane Parameter wird ignoriert wenn dieses Attribut angegeben wird.
WGL_ACCELERATION_ARB 0x2003 enum exakt Gibt an wie dieses Pixel Format vom Treiber unterstützt wird. WGL_NO_ACCELERATION_ARB untestützt nur software rendering. Bei WGL_GENERIC_ACCELERATION_ARB wird dieses Pixel Format von einem MCD Treiber unterstützt. Mit WGL_FULL_ACCELERATION_ARB wird dieses Pixel Format von einem ICD Treiber unterstütz.
WGL_NEED_PALETTE_ARB 0x2004 boolean exakt Eine logische Palette ist erforderlich um die besten Resultate mit diesem Pixel Format zu erzielen. Der iLayerPlane Parameter wird ignoeriert wenn dieses Attribut angegeben wird.
WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 boolean exakt Die Hardware unterstützung nur eine Hardware Palette in 256-Farben Modus. Der iLayerPlane Parameter wird ignoriert wenn dieses Attribut angegeben wird.
WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 boolean exakt True wenn das Pixel Format das swappen von Layer Ebenen unabhängig von der haupt-Ebene unterstützt. Wenn das Pixel Format keine Back-Puffer unterstützt, so ist dieser Wert False. Der iLayerPlane Parameter wird ignoriert wenn dieses Attribut angegeben wird.
WGL_SWAP_METHOD_ARB 0x2007 enum exakt Wenn das Pixel Format einen Back-Buffer unterstützt, so gibt dieser Wert an wie geswapped wird. Wenn das Attribut auf WGL_SWAP_EXCHANGE_ARB gesetzt ist, so wird der Front- und der Back-Puffer ausgetauscht. Wenn er auf WGL_SWAP_COPY_ARB gesetzt ist, so wird beim swapping der Inhalt des Back-Puffers in den Front-Puffer kopiert. Wenn er auf WGL_SWAP_UNDEFINED_ARB gesetzt ist, so wird der Inhalt des Back-Puffers in den Front-Puffer kopiert, jedoch ist der Inhalt des Back-Puffers nach dieser Operation undefiniert. Wenn dieses Pixel Format keinen Back-Puffer untestützt, so ist dieser Wert WGL_SWAP_UNDEFINED_ARB. Der iLayerPlane Parameter wird ignoriert wenn dieses Attribut angegeben wird.
WGL_NUMBER_OVERLAYS_ARB 0x2008 integer minimum Die Anzahl der darüber liegenden Ebenen. Der iLayerPlane-Parameter wird ignoriert wenn dieses Attribut angegeben wird.
WGL_NUMBER_UNDERLAYS_ARB 0x2009 integer minimum Die Anzahl der darunter liegenden Ebenen. Der iLayerPlane-Parameter wird ignoriert wenn dieses Attribut angegeben wird.
WGL_TRANSPARENT_ARB 0x200A boolean ignoriert True wenn Transparenz unterstützt wird.
WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 integer ignoriert Gibt den Transparenten Rotwert an. Typischer weise ist dieser Wert für alle Layer-Ebenen gleich. Dieser Wert ist undefiniert wenn keine Transparenz unterstützt wird.
WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 integer ignoriert Gibt den Transparenten Grünwert an. Typischer weise ist dieser Wert für alle Layer-Ebenen gleich. Dieser Wert ist undefiniert wenn keine Transparenz unterstützt wird.
WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 integer ignoriert Gibt den Transparenten Blauwert an. Typischer weise ist dieser Wert für alle Layer-Ebenen gleich. Dieser Wert ist undefiniert wenn keine Transparenz unterstützt wird.
WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A integer ignoriert Gibt den Transparenten Alpha Wert an. Reserviert für zukünftige Erweiterungen!
WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B integer ignoriert Gibt den Transparenten Color-Index Wert an. Typischer weise ist dieser Wert für alle Layer-Ebenen gleich. Dieser Wert ist undefiniert wenn keine Transparenz unterstützt wird.
WGL_SHARE_DEPTH_ARB 0x200C boolean exakt True wenn die Layer-ebenen den Tiefenpuffer mit der haupt-Ebene teilen. Wenn iLayerPlane 0 ist, so ist dieser Wert immer True.
WGL_SHARE_STENCIL_ARB 0x200D boolean exakt True wenn die Layer-Ebenen den Stencil-Puffer mit der haupt-Ebene teilen. Wenn iLayerPlane 0 ist, so ist dieser Wert immer True.
WGL_SHARE_ACCUM_ARB 0x200E boolean exakt True wenn die Layer-Ebenen den Accumulations-Puffer mit der haupt-Ebene teilen. Wenn iLayerPlane 0 ist, so ist dieser Wert immer True.
WGL_SUPPORT_GDI_ARB 0x200F boolean exakt True wenn GDI rendering untestützt wird.
WGL_SUPPORT_OPENGL_ARB 0x2010 boolean exakt True wenn OpenGL unterstützt wird.
WGL_DOUBLE_BUFFER_ARB 0x2011 boolean exakt True wenn der Farb-Puffer ein vorne/hinten Paar hat.
WGL_STEREO_ARB 0x2012 boolean exakt True wenn der Farb-Puffer ein links/rechts Paar hat.
WGL_PIXEL_TYPE_ARB 0x2013 enum exakt Der Typ der Pixel Daten. Kann WGL_TYPE_RGBA_ARB oder WGL_TYPE_COLORINDEX_ARB sein.
WGL_COLOR_BITS_ARB 0x2014 integer minimum Die Anzahl der Bits für jeden Farb-Puffer. Für RGBA-Pixel ist es die Bittiefe des Farb-Puffers ohne die Alpha-Bits. Für Farb-Index Pixel ist es die Anzahl der Bits für den Farb-Index-Puffer.
WGL_RED_BITS_ARB 0x2015 integer minimum Die Anzahl der Bits für den Rotwert im Farb-Puffer.
WGL_RED_SHIFT_ARB 0x2016 integer ignoriert Der Shift-Wert für die Rotwert-Bits im Farb-Puffer.
WGL_GREEN_BITS_ARB 0x2017 integer minimum Die Anzahl der Bits für den Grünwert im Farb-Puffer.
WGL_GREEN_SHIFT_ARB 0x2018 integer ignoriert Der Shift-Wert für die Grünwert-Bits im Farb-Puffer.
WGL_BLUE_BITS_ARB 0x2019 integer minimum Die Anzahl der Bits für den Blauwert im Farb-Puffer.
WGL_BLUE_SHIFT_ARB 0x201A integer ignoriert Der Shift-Wert für die Blauwert-Bits im Farb-Puffer.
WGL_ALPHA_BITS_ARB 0x201B integer minimum Die Anzahl der Bits für den Alphawert im Farb-Puffer.
WGL_ALPHA_SHIFT_ARB 0x201C integer minimum Der Shift-Wert für die Alphawert-Bits im Farb-Puffer.
WGL_ACCUM_BITS_ARB 0x201D integer minimum Die gesamt Bittiefe des Accumulations Buffers.
WGL_ACCUM_RED_BITS_ARB 0x201E integer minimum Die Anzahl der Bits für den Rotwert im Accumulations Puffer.
WGL_ACCUM_GREEN_BITS_ARB 0x201F integer minimum Die Anzahl der Bits für den Grünwert im Accumulations Puffer.
WGL_ACCUM_BLUE_BITS_ARB 0x2020 integer minimum Die Anzahl der Bits für den Blauwert im Accumulations Puffer.
WGL_ACCUM_ALPHA_BITS_ARB 0x2021 integer minimum Die Anzahl der Bits für den Alphawert im Accumulations Puffer.
WGL_DEPTH_BITS_ARB 0x2022 integer minimum Die Bittiefe des Tiefenpuffers.
WGL_STENCIL_BITS_ARB 0x2023 integer minimum Die Bittiefe des Stencil Puffers.
WGL_AUX_BUFFERS_ARB 0x2024 integer minimum Die Anzahl der auxiliary Puffer.

Akzeptiert als Wert im piAttribIList und pfAttribFList Parameter von wglChoosePixelFormatARB, und zurückgegeben im piValues Array von wglGetPixelFormatAttribivARB und im pfValues Array von wglGetPixelFormatAttribfvARB. Für eine gülte Verwendung und Beschreibung siehe die entsprechenden Einträge der obigen Attrib-Liste.

Bezeichnung Hex-Code Verwendung bei
WGL_NO_ACCELERATION_ARB 0x2025 WGL_ACCELERATION_ARB
WGL_GENERIC_ACCELERATION_ARB 0x2026 WGL_ACCELERATION_ARB
WGL_FULL_ACCELERATION_ARB 0x2027 WGL_ACCELERATION_ARB
WGL_SWAP_EXCHANGE_ARB 0x2028 WGL_SWAP_METHOD_ARB
WGL_SWAP_COPY_ARB 0x2029 WGL_SWAP_METHOD_ARB
WGL_SWAP_UNDEFINED_ARB 0x202A WGL_SWAP_METHOD_ARB
WGL_TYPE_RGBA_ARB 0x202B WGL_PIXEL_TYPE_ARB
WGL_TYPE_COLORINDEX_ARB 0x202C WGL_PIXEL_TYPE_ARB

Abhängigkeiten

Ressourcen

Hardware Unterstützung
Original Extension-Spezifikation