WGL ARB pixel format
Die Orginalspezifikation finden Sie unter "Ressourcen" am Ende des Artikels. |
Inhaltsverzeichnis
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
- WGL_ARB_extensions_string wird für die Abfrage ob die Extension vorhanden ist verwendet