GL ARB multisample

Aus DGL Wiki
Wechseln zu: Navigation, Suche

GL_ARB_multisample

Info DGL.png Leere Sektionen werden gerade bearbeitet.
Info DGL.png Die Orginalspezifikation finden Sie unter "Ressourcen" am Ende des Artikels.


Abfragestring

GL_ARB_multisample


Beschreibung

GL_ARB_multisample ermöglicht Antialiasing bezüglich aller GL Primitiven: Punkte, Linien, Polygone, Bitmaps und Bilder. Dabei werden bei jedem Pixel alle Primitive mehrere Male geprüft. Die erhaltenen einzelnen Farbwerte werden jedes Mal, wenn ein Pixel neu gezeichnet werden muss, zu einer einzigen ausgabefähigen Farbe zusammengefasst. Das geschieht automatisch, sodass für ein Programm kein zusätzlicher Aufwand anfällt.Weil jeder einzelne geprüfte Wert Tiefen- und Stencilinformation beinhaltet, werden die Tiefen- und Stencilfunktionen in ihrer Schnelligkeit nicht beeinträchtigt.

Ein zusätzlicher Puffer, der Multisample buffer, wird zum Framebuffer hinzugefügt. Die einzelnen Pixelwerte, einschließlich Farbe, Tiefe- und Stencilwerte werden hier gespeichert. Wenn der Framebuffer einen Multisample buffer hat, gibt es keinen separaten Tiefenpuffer oder Stencilpuffer (Schablonenpuffer), sogar auch dann nicht, wenn der Multisample buffer Tiefen- oder Stencilwerte gar nicht speichert. Farbpuffer (links/rechts/vorne/hinten/aux) koexistieren aber jedenfalls mit dem Multisample buffer.

Multisample-Antialiasing ist für das Zeichnen von Polygonen von großem Vorteil, da es keine Sortierung erfordert, um versteckte Objekte zu eliminieren und angrenzende Polygone, Objektsilhouetten und sogar schneidende Polygone korrekt dargestellt werden können. Wenn nur Punkte oder Linien gezeichnet werden, erzeugt das "Smooth"-Antialiasing, das die Basis-GL erzeugt, bessere Ergebnisse. Diese Extension wurde so gestaltet, dass sowohl "Smooth" als auch Multisample Antialiasing alternierend beim Zeichnen einer Szene verwendet werden können.

Neue Prozeduren

procedure SampleCoverageARB (value: TGLclampf; invert: TGLboolean);

Neue Tokens

Für den <attribList> Parameter von glXChooseVisual und
für den <attrib> Parameter von glXGetConfig:
GLX_SAMPLE_BUFFERS_ARB
GLX_SAMPLES_ARB

Für den <piAttributes> Parameter von wglGetPixelFormatAttribivEXT, wglGetPixelFormatAttribfvEXT und
für <piAttribIList> und <pfAttribIList> von wglChoosePixelFormatEXT:
WGL_SAMPLE_BUFFERS_ARB
WGL_SAMPLES_ARB

Für den <cap> Parameter von Enable, Disable und IsEnabled und
für den <pname> Parameter von GetBooleanv, GetIntegerv, GetFloatv, und GetDoublev:
MULTISAMPLE_ARB
SAMPLE_ALPHA_TO_COVERAGE_ARB
SAMPLE_ALPHA_TO_ONE_ARB
SAMPLE_COVERAGE_ARB

Für den <mask> Parameter von PushAttrib:
MULTISAMPLE_BIT_ARB

Für den <pname> Parameter von GetBooleanv, GetDoublev, GetIntegerv und GetFloatv:
SAMPLE_BUFFERS_ARB
SAMPLES_ARB
SAMPLE_COVERAGE_VALUE_ARB
SAMPLE_COVERAGE_INVERT_ARB

Anwendung

Ressourcen

Original Extension-Spezifikation