Akkumulationspuffer

Akkumulationspuffer

Der Akkumulationspuffer (englisch accumulation buffer) ist in der Computergrafik ein Speicherbereich für Bilder, die dort nacheinander aufaddiert werden und von denen anschließend der Durchschnitt gebildet wird. Dadurch lassen sich bestimmte Grafikeffekte erreichen. Der Akkumulationspuffer wird entweder in Software implementiert oder von der Grafikhardware zusätzlich zum Framebuffer zur Verfügung gestellt.

Inhaltsverzeichnis

Anwendungen

Mit dem Akkumulationspuffer lassen sich unter anderem folgende Effekte erreichen, indem der Durchschnitt mehrerer Bilder mit unterschiedlichen Einstellungen berechnet wird:

Beispiel: Antialiasing

Die Idee hinter Antialiasing mittels Akkumulationspuffer ist, den Treppeneffekt durch eine höhere Abtastrate zu verhindern. Es handelt sich also um eine softwaregestützte Variante des Supersamplings. Im Einzelnen sind hierzu die folgenden Schritte erforderlich:

  1. Der Akkumulationspuffer wird auf eine schwarze Fläche zurückgesetzt.
  2. Um eine n-fache Auflösung zu simulieren, werden 2n Bilder benötigt, die sich minimal, das heißt um den Bruchteil eines Pixels unterscheiden. Minimal unterschiedliche Bilder werden erzeugt, indem die Kamera leicht verschoben wird. Nachdem jeweils eines der 2n Bilder berechnet (gerendert) wurde, addiert man dessen Farbwerte zu denen im Akkumulationspuffer.
  3. Sobald man alle 2n Bilder aufaddiert hat, dividiert man alle Pixelwerte im Akkumulationspuffer durch 2n. Danach steht im Akkumulationspuffer ein Bild, das den Mittelwert aus den 2n verschobenen Einzelbildern darstellt.
  4. Der Inhalt des Akkumulationspuffers wird eventuell in den ursprünglichen Speicherbereich kopiert und angezeigt.

Geschichte

Der Akkumulationspuffer wurde Ende der 1980er Jahre von Silicon Graphics für ihre damaligen Grafik-Workstations entwickelt. Die erste Programmierschnittstelle, die einen Akkumulationspuffer unterstützte, war daher das herstellereigene IRIS GL. Das 1992 veröffentlichte OpenGL 1.0 enthielt ebenfalls eine Unterstützung des Konzepts.

In der Folge setzte sich für Standard-Grafikhardware anderer Hersteller ein hardwareunterstützter Akkumulationspuffer zunächst nicht durch. Dies lag an dem erheblichen zusätzlichen Aufwand zur Hardwareunterstützung von Framebuffern mit mehr als 8 Bit Farbtiefe pro Farbkanal, die für eine sinnvolle Nutzung des Akkumulationspuffer nötig sind und von der OpenGL-Spezifikation erfordert werden. Dieser Aufwand für einen relativ begrenzten Nutzen schien in den Augen der meisten Grafikhardwarehersteller nicht gerechtfertigt. So war der Akkumulationspuffer meist nur durch den Gerätetreiber in Software realisiert und darum in Anwendungen extrem langsam.

Dies änderte sich erst ab 2002 mit Grafikkarten neuerer Generation, die intern Gleitkommazahlen für die Farbkanäle von Texturen und nicht-sichtbarer Framebuffer verwenden konnten. Die erste Grafikkarte dieser Art war die ATI Radeon 9700. Dadurch kann der Treiber einer Grafikkarte den Akkumulationspuffer intern durch die Hardware emulieren. Damit ist die Verwendung mit aktuellen Grafikkarten in hoher Geschwindigkeit möglich.

Zur Unterstützung von Antialiasing hat der Akkumulationspuffer allerdings mittlerweile seine Bedeutung verloren, weil die Grafikhardware für diesen Effekt spezielle Verfahren vorgesehen hat.

Literatur


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Accumulation Buffer — Der Akkumulationspuffer (englisch Accumulation Buffer) ist in der Computergrafik ein Speicherbereich für Bilder, die dort nacheinander aufaddiert werden und von denen anschließend der Durchschnitt gebildet wird. Dadurch lassen sich bestimmte… …   Deutsch Wikipedia

  • FSAA — Eine Computergrafik, die oben ohne und unten mit Antialiasing berechnet wurde. Durch Antialiasing wird das harte Erscheinungsbild der Objektkanten geglättet und dünne Objekte fehlerfrei dargestellt. Antialiasing, auch Anti Aliasing, bezeichnet in …   Deutsch Wikipedia

  • Kantenglättung — Eine Computergrafik, die oben ohne und unten mit Antialiasing berechnet wurde. Durch Antialiasing wird das harte Erscheinungsbild der Objektkanten geglättet und dünne Objekte fehlerfrei dargestellt. Antialiasing, auch Anti Aliasing, bezeichnet in …   Deutsch Wikipedia

  • Schriftglättung — Eine Computergrafik, die oben ohne und unten mit Antialiasing berechnet wurde. Durch Antialiasing wird das harte Erscheinungsbild der Objektkanten geglättet und dünne Objekte fehlerfrei dargestellt. Antialiasing, auch Anti Aliasing, bezeichnet in …   Deutsch Wikipedia

  • Treppeneffektglättung — Eine Computergrafik, die oben ohne und unten mit Antialiasing berechnet wurde. Durch Antialiasing wird das harte Erscheinungsbild der Objektkanten geglättet und dünne Objekte fehlerfrei dargestellt. Antialiasing, auch Anti Aliasing, bezeichnet in …   Deutsch Wikipedia

  • Treppenglättung — Eine Computergrafik, die oben ohne und unten mit Antialiasing berechnet wurde. Durch Antialiasing wird das harte Erscheinungsbild der Objektkanten geglättet und dünne Objekte fehlerfrei dargestellt. Antialiasing, auch Anti Aliasing, bezeichnet in …   Deutsch Wikipedia

  • Antialiasing (Computergrafik) — Eine Computergrafik, die oben ohne und unten mit Antialiasing berechnet wurde. Durch Antialiasing wird das harte Erscheinungsbild der Objektkanten geglättet und die dünnen Streifen werden realistischer dargestellt. Antialiasing, auch Anti… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”