Wie sieht der grafische Effekt aus, der bei nicht mip-abgebildeten entfernten Texturen auftritt?


18

Wir alle kennen uns mit Mip-Mapping aus . Es verringert die Texturqualität, wenn eine Textur weiter entfernt ist.

Ohne Mip-Mapping scheint eine Textur zu "flackern", wie die Spitze des Berges hier:

Bildbeschreibung hier eingeben

Gibt es einen bestimmten Namen dafür?

Ich möchte einen Satz schreiben wie "Ich habe Mip-Mapping angewendet, um den ___-Effekt zu lösen" oder "Dies ist als ___ bekannt und tritt auf, wenn Mip-Mapping nicht verwendet wird".


2
Das Hinzufügen eines Screenshots von dem, wovon Sie sprechen, würde die Frage erheblich verbessern :)
Vaillancourt

@AlexandreVaillancourt Danke für den Vorschlag - Hinzugefügt. :)
joehot200

Antworten:


20

Was Sie suchen, ist Aliasing. Es unterscheidet sich kaum vom Aliasing von harten 3D-Kanten, die auf dem Bildschirm gezeichnet werden. Beide kommen vom zu strengen Rendern von Pixeln mit der einen oder anderen Farbe. Antialiasing-Methoden wie Mip-Mapping helfen nur dabei, die Kanten zu verwischen, sodass Zwischenfarben gerendert werden. Dies kann auf einzelne Texturen, aber auch auf den gesamten Bildschirm angewendet werden.

Beachten Sie jedoch, dass Mip-Mapping nicht die einzige Lösung dafür ist. Sie können auch andere prozedurale Interpolationsalgorithmen verwenden.


3
"Verschwimmen der Ränder" ist kein guter Weg, um zu beschreiben, was passiert. Bei dieser Art von Antialiasing werden mehr Samples aus der Originaltextur verwendet, um die Farbe jedes Pixels zu bestimmen. Da Mip-Maps kleinere Kopien der Originaltextur sind, entspricht das Entnehmen eines einzelnen Samples von einer Mip-Map dem Entnehmen mehrerer Samples von der Originaltextur. Es ist auch erwähnenswert, dass Mip-Maps nur eine Optimierung für die Renderleistung darstellen. Sie können den gleichen Effekt erzielen, indem Sie beim Rendern mehr Samples von der Originaltextur nehmen.
Roger Dahl

@ RogerDahl Ich habe noch nie davon gehört, dass "mehr Proben von der ursprünglichen Textur genommen werden", um Mip-Mapping zu ersetzen. Wie heißt es (damit ich es googeln kann)?
joehot200

3
@ joehot200: "Mip-Mapping" ist nur eine Vorberechnungsoptimierung für eine korrekte Verkleinerung. Wenn Sie ein Bild so verkleinern, dass ein Ausgabepixel dem von N Pixeln in der Quelle abgedeckten Raum entspricht, müssen Sie im Allgemeinen mindestens diese N Pixel (und möglicherweise mehr) als Eingabe verwenden. Dies ist offensichtlich rechenintensiv. Indem Sie vorberechnete Versionen der Quelle für jeden vernünftigen Wert von k auf den Skalen 2 ^ -k haben, können Sie N Pixel auf einmal betrügen und im Wesentlichen lesen.
R ..

Natürlich ist es eine weniger als ideale Annäherung und liefert einige Aliasing-Artefakte. Was wäre besser, als vorberechnete 2 ^ -n-skalierte Versionen der Quelltextur zu haben, als vorberechnete bandbegrenzte Versionen davon, die immer noch die vollen Dimensionen haben. Auf diese Weise erhalten Sie eine korrekte Abtastung, verbrauchen aber natürlich viel (wahrscheinlich unerschwinglich) mehr Speicher.
R ..

Ich weiß, dass einige Spiele (insbesondere etwas ältere) sogar einen mit Anti-Aliasing gekennzeichneten Schieberegler haben. Also selbsterklärend.
Daniel

14

4
@ joehot200 Was meinst du mit "verwandt"? Aliasing ist genau das, was Mipmapping unter anderem löst. Aliasing ist der "Effekt", der auftritt.
snake5

3
Der Begriff "Unterabtastung" tritt auch hier auf, weil beim Rendern zu wenige Abtastungen der Textur vorgenommen werden, um deren durchschnittliches Erscheinungsbild über die gesamte Länge des gerenderten Pixels genau zu erfassen. Daher führen geringfügige Änderungen der Abtastpunkte (z. B. kleine Kamerabewegungen) zu sehr hohen Ergebnissen verschiedene Ausgabewerte (schimmernd / funkelnd)
DMGregory

6

Gibt es einen bestimmten Namen dafür?

Das Flimmern, von dem Sie sprechen, wird in diesem speziellen Fall als Moiré-Effekt / Muster bezeichnet . Es ist eine Form des räumlichen Aliasing, wie bereits in anderen Antworten erwähnt. Das Aliasing selbst kann jedoch viel mehr als nur Moiré-Muster zur Folge haben.


1

Ich habe gehört, dass der Begriff "Knallen und Kochen" auf das Aliasing angewendet wird, das Sie auf diesem Berg im Hintergrund anzeigen. Es ist kein mathematischer Begriff, aber er ist beschreibend. Aliasing wäre also das, worüber Sie Ihre Arbeit schreiben würden, wenn Sie eine andere Lösung für das Problem erfinden und damit Geld verdienen möchten (Stipendien, akademische Beförderung). "Poppen und Kochen" könnte das sein, was Sie in einer Demo nennen würden (für VC-Geld).


0

Ich möchte nur hinzufügen, dass es einen weiteren Nebeneffekt gibt, wenn Sie Mip-Mapping nicht verwenden: Sie erhalten nicht nur das abscheuliche Aliasing (siehe die Nyquist-Theorie für das, was vor sich geht), sondern wahrscheinlich auch eine Verringerung der Leistung als das Texturzugriffe werden inkohärent und zerstören das Speicher- / Cache-System Ihrer GPU.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.