Angenommen, ich habe eine Textur, die natürlich nicht quadratisch ist (z. B. eine fotografische Textur von etwas mit einem Seitenverhältnis von 4: 1). Angenommen, ich möchte die PVRTC-Komprimierung verwenden, um diese Textur auf einem iOS-Gerät anzuzeigen, wofür die Textur quadratisch sein muss. Wenn ich die Textur so skaliere, dass sie während der Komprimierung quadratisch ist, entsteht ein sehr verschwommenes Bild, wenn die Textur aus der Entfernung betrachtet wird.Wie geht man mit Texturverzerrungen um, die durch "Quadrierung" von Texturen und den Interaktionen mit dem Mipmapping verursacht werden?
Ich glaube, dass dies durch Mipmapping verursacht. Da der Mipmap-Filter die neue größere gestreckte Dimension sieht, wählt er einen niedrigen Mip-Level, der eigentlich nicht korrekt ist, da diese Pixel gerade auf diese Größe gestreckt wurden. Wenn es die andere Dimension betrachtet, würde es eine höhere Auflösung Mip-Ebene wählen.
Diese Theorie wird (etwas) durch die Beobachtung bestätigt, dass, wenn ich die Textur in einem Format belasse, das nicht quadratisch sein muss, die Mipmap-Versionen gerade dandy aussehen.
Es gibt einen LOD-Bias-Parameter, aber die Dokumente sagen, dass er auf beide Dimensionen angewendet wird. Es scheint so zu sein, dass es eine Möglichkeit gibt, die LOD zu beeinflussen, aber nur in einer Dimension (das heißt, sie wird auf eine höhere Auflösung in der Dimension der Textur, die skaliert wurde, angewandt).
Anders als die Geometrie zu zerschneiden, um die Verwendung von quadratischen Untergruppen der ursprünglichen Textur zu ermöglichen (was unmöglich ist, geben Sie unsere Produktionspipeline), hat jemand clevere Hacks, die sie verwendet haben, um mit diesem Problem umzugehen?
Wir kombinieren Texturen zusammen, wo immer wir können, so dass dies nur auftritt, wenn wir eine sich wiederholende Textur haben. Der erste Trick, den Sie erwähnen, würde tatsächlich für diesen Fall funktionieren, aber der zweite Trick kommt hier nicht in Frage. Das Hineingehen und das Ändern der Geometrie ist nicht etwas, das ich gerne machen würde (was wäre, wenn es beispielsweise eine UV-Animation gibt). Aber ich stimme zu, dass dies die Unschärfe beheben würde. Irgendwelche anderen schlauen Ideen? –
Keine zur Zeit. Es ist alles eine Schande, dass die Schnittstelle nur quadratische Texturen freilegt, wenn die Hardware glücklicherweise rechteckige PVRTC-Texturen mit zwei Stärken unterstützt. –
Haben Sie eine Referenz dazu? Ich nahm an, dass die quadratische Anforderung von der Hardware kam.Ich würde gerne einen Fehlerbericht mit Apple einreichen, wenn dieser nicht benötigt wird! –