Unterschied zwischen Z-Puffer und A-Puffer

Unterschied zwischen Z-Puffer und A-Puffer
Unterschied zwischen Z-Puffer und A-Puffer

Video: Unterschied zwischen Z-Puffer und A-Puffer

Video: Unterschied zwischen Z-Puffer und A-Puffer
Video: Programmieren in Java Tutorial #14 - Interface & Abstrakte Klassen 2024, Juli
Anonim

Z-Puffer vs. A-Puffer

Z-Puffer und A-Puffer sind zwei der beliebtesten Erkennungstechniken für sichtbare Oberflächen, die in der 3D-Computergrafik verwendet werden. Die Erkennung sichtbarer Oberflächen (auch als Eliminierung verborgener Oberflächen bekannt) wird verwendet, um zu identifizieren, was in einer Szene von einem bestimmten Betrachtungspunkt in der 3D-Welt aus sichtbar ist. Es gibt zwei Hauptkategorien von Oberflächenerkennungsverfahren, die als Objektraumverfahren und Bildraumverfahren bekannt sind. Objektraummethoden befassen sich mit dem Vergleich von Objekten und/oder Teilen von Objekten, um zu bestimmen, welche Oberflächen sichtbar sind. Bildraummethoden befassen sich mit der Entscheidung über die Sichtbarkeit auf einer Punkt-zu-Punkt-Basis auf Pixelebene. Bildraummethoden sind die beliebtesten und Z-Puffer und A-Puffer gehören zu dieser Kategorie. Die Z-Puffermethode berechnet die Oberflächentiefenwerte für jedes Pixel in der gesamten Szene. Eine Puffermethode ist eine Erweiterung der Z-Puffermethode, die Transparenz hinzufügt.

Was ist der Z-Puffer?

Z-Puffermethode ist auch als Tiefenpuffermethode bekannt. Der Z-Puffer ist ein Rasterpuffer, der Farb- und Tiefeninformationen für jedes Pixel speichert. Das „Z“im Z-Puffer bezieht sich auf die „Z“-Ebene im dreidimensionalen Raum. Z-Pufferverfahren erkennen sichtbare Oberflächen, indem sie Oberflächentiefenwerte für jedes Pixel in der gesamten Szene auf der Projektionsebene vergleichen. Dies geschieht meistens in Hardware, manchmal aber auch in Software. Normalerweise wird die Z-Puffermethode auf Szenen angewendet, die nur aus Polygonen bestehen. Die Z-Puffermethode ist sehr schnell, da die Tiefenwerte sehr einfach berechnet werden können. Einer der wichtigsten Aspekte, der die Qualität der gerenderten Grafiken beeinflusst, ist die Granularität des Z-Puffers. Eine geringere Granularität kann Probleme wie z. B. Z-Fighting verursachen (insbesondere bei sehr nahen Objekten). Beispielsweise können 16-Bit-Z-Puffer diese Probleme erzeugen. 24-Bit oder höhere Z-Puffer bieten in diesen Situationen eine bessere Qualität. Ein 8-Bit-Z-Puffer hat eine zu geringe Puffergenauigkeit, um nützlich zu sein.

Was ist ein Puffer?

Ein Puffer (auch bekannt als geglätteter, flächengemittelter, Akkumulationspuffer) ist eine Erweiterung des Z-Puffers. Ein Pufferalgorithmus wurde von Pixar entwickelt. Ein Pufferverfahren könnte effektiv für Computer mit virtuellem Speicher mittlerer Größe verwendet werden. Derselbe Algorithmus, der vom Z-Puffer verwendet wird, wird mit dem A-Puffer verwendet. A-Puffer bietet jedoch zusätzlich zu dem, was Z-Puffer tut, Anti-Aliasing. Im A-Puffer besteht jedes Pixel aus einer Gruppe von Unterpixeln. Die endgültige Farbe eines Pixels wird berechnet, indem alle seine Subpixel aufsummiert werden. Ein Puffer erhält den Namen Akkumulationspuffer, weil diese Akkumulation auf Subpixelebene stattfindet.

Was ist der Unterschied zwischen Z-Puffer und A-Puffer?

Z-Puffer und A-Puffer sind zwei der beliebtesten Erkennungstechniken für sichtbare Oberflächen. Tatsächlich ist A-Puffer eine Erweiterung des Z-Puffers, der Anti-Aliasing hinzufügt. Typischerweise hat der A-Puffer eine bessere Bildauflösung als der Z-Puffer, da er ein leicht berechenbares Fourier-Fenster verwendet. A-Puffer ist jedoch etwas teurer als Z-Puffer.

Empfohlen: