Ich habe meinem Projekt kürzlich einen Textur-Packager hinzugefügt, der eine bestimmte Anzahl von Texturen in eine einzige packt, wie folgt:
So ist diese beispielsweise 582 x 1023 Pixel groß. Das Ziel des Hinzufügens dieser gepackten Texturen bestand offensichtlich darin, die Leistung zu verbessern. Daher wollte ich die optimale Texturgröße für OpenGL-Texturen (unter Verwendung von LWJGL) ermitteln. Die Dinge , die ich gefunden waren , dass eine breite Unterstützung maximale Texturgröße scheint 1024x1024 zu sein, nach dieser zum Beispiel. Das kommt mir merkwürdig vor, weil natürlich viele Texturen größer wären, was passiert also mit denen? Ich bin mir ziemlich sicher, dass die meisten Grafikkarten größere Texturen unterstützen. Kann ich davon ausgehen, dass die meisten Grafikkarten z. B. Texturen im Format 4096 x 4096 (oder sogar größer) verarbeiten?
Um zu meinem zweiten Punkt zu kommen (ich hoffe, dies zählt immer noch als eine Frage, aber es läuft im Wesentlichen auf dasselbe Problem hinaus): Sollten Texturen mit einer Potenz von 2 (256x256, 512x512, 1024x1024, 2048x2048, ..) dimensioniert sein und sollten Ich fülle gepackte Texturen auf, die kleiner sind als die nächste Potenz von 2? Gemäß dieser Frage aus dem Jahr 2011 ist es nicht erforderlich, kann aber Fehler Leistung und vermeiden kleineren verbessern und diese von 2012 sagt , dass Sie sollten auf jeden Fall Pad Texturen. Mir ist also klar, dass diese Fragen schon einmal gestellt wurden, aber sie sind relativ alt, damit sich die Antworten geändert haben, und außerdem beantworten sie jeweils nur teilweise meine Frage. Wie gehen andere Projekte damit um?
TL; DR: Mit welchen Texturgrößen kann ich bei den meisten Grafikkarten rechnen? Was sind die optimalen Texturgrößen (oder gibt es)? Soll ich Texturen mit der nächsten Potenz von 2 auffüllen?