Gibt es eine effizientere Art und Weise mit 2 ^ n Pixeln Größe Voraussetzung für OpenGL ES Textur umgehen?

StackOverflow https://stackoverflow.com/questions/1191945

  •  19-09-2019
  •  | 
  •  

Frage

Sorry, wenn meine Frage ist uncleared. Lassen Sie mich erarbeiten.

Ich habe ein Rechteck der Größe 100 x 200, und ich habe eine grafische Größe 100 x 200, das paßt mit dem Rechteck. Da alle OpenGL Texturen erfordert 2 ^ n Breite und Höhe zu haben, im Grunde habe ich die 100 x 200 Grafik rechts in ein 128 x 256-Bild für diese. Es funktioniert gut für OpenGL, weil ich es einfach gebeten, nur einen Teil der Textur zu ziehen, dass ich auf dem Rechteck benötigen. nörgelt mich ist jedoch, was, dass es in der 128 x 256 Textur, viele ungenutzte Räume sind.

Gibt es einen besseren Weg, um mit diesen ungenutzten Räumen in diesem Fall zu tun? Oder soll dies die Art und Weise sein zu gehen?

War es hilfreich?

Lösung

Packung mehr Texturen in ein "Blatt".

Andere Tipps

Wenn Sie Polsterung zu speichern Speicher reduzieren müssen Sie das Bild in mehrere POW2 Texturen spalten könnte, z.B. Split 100 Pixel horizontal in 64, 32, 4 und 200 Pixel vertikal in 128, 64, 8. Sie werden auch das Rechteck Sie ist Texturierung in mehr entsprechenden Rechtecken (Quads) müssen aufzuzuspalten.

In diesem Beispiel werden Sie anstelle von 1-Rendering 9 Quads / Texturen werden, so müssen Sie messen, ob es ein Leistungseinbruch in der Anwendung ist.

Sie werden nicht in der Lage sein, diese Technik zu verwenden, wenn Sie eine bilineare Interpolation verwenden, wie Sie eine Textur Grenze erfordern würde, die ich glaube nicht, von OpenGL ES unterstützt wird.

Ändern Sie die Größe Ihres Bildes besser passen. Sie nichts für nichts in dieser Welt bekommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top