Frage

Ich habe PVR Texturkomprimierung bekam arbeiten alle glücklich und gut in meinem iPhone-Spiel, aber ich habe Probleme bekommen, wenn sie zusammen mehrere Texturen Kacheln. Im Grunde habe ich einen sehr großen Hintergrund bekam, die in mehrere 512x512 Kacheln aufgeteilt, die alle PVR komprimiert. Dann sind sie zusammengezogen wie ein Bild großer Hintergrund zu suchen. Die Art und Weise PVR funktioniert, weil es nicht weiß, dass es die Textur werden soll ist komprimiert, als ob es eine wirklich große Textur war - d. H Nachbars geflieste Informationen verwenden, um festzustellen, wie die PVR Kompression durchführt

ich denken kann, vielleicht ein paar Möglichkeiten, dies zu tun.

1) Irgendwie sagen dem texturetool Kommandozeilen-Programm, um für andere Bilder aufnehmen, die benachbart sein werden.
2) Verwenden Sie das Kommandozeilen-Programm eine große PVR Textur zu erzeugen, die das gesamte Bild darstellt, dann spaltet irgendwie die Bytes in mehrere Bilder auf - wahrscheinlich unmöglich
. 3) Führen Sie eine Art von OpenGL ES Verschlagenheit, die die Kanten schön verbindet.
4) Haben einige Tücken, wo ich redundante Informationen in jeder Kachel haben und dann die Bereiche Clip, wenn die Textur gezogen wird (bitte nicht).

Hoffentlich kann ich tun, 1, 2 oder 3, oder es gibt einige andere bekannte Lösung.

War es hilfreich?

Lösung

beenden ich mit der Option nach oben gehe 4. Ich glaube nicht, dass dies eine Situation, wo PVRTC nicht geeignet ist - in der Tat ist es fast eine Notwendigkeit. Als ich auf einmal insgesamt 24 512x512 Texturen im Speicher habe (die einen sehr großen Hintergrund und Vordergrund), ist jene, in unkomprimierten setzen Selbstmord. Also habe ich einfach verwendet PVR Kompression als normal, dann bearbeitet meine ein paar Zeilen Code in meinem Fliesen Algorithmus so, dass sie sich überlappen und schneiden auf 15 Pixel an jedem Ende. Voila, sieht gut aus. Nahm ein paar Tage und war ziemlich ärgerlich, aber ich denke, das ist für die Menschen eine gute Option ist, die auf dem iPhone sehr große gekachelte Hintergründe brauchen.

Andere Tipps

Mein bester Rat, aber nicht das, was Sie gefragt, zu wissen, wann PVRTC nicht geeignet ist. Bei weitem ist die einfachste Lösung zu verwenden, einfach nicht PVRTC für die Fliesen. Ich habe viel Zeit damit verbracht, PVRTC biegen in Situationen zu arbeiten, es ist einfach nicht geeignet für.

Wie gesagt,

Wenn PVRTC verwenden, wird die Textur immer Fliese (mit sich selbst) angenommen, so dass Pixel am rechten Rand die Pixel am linken Rand beeinflussen (das gleiche mit oben und unten). So Auswahl 1 oder 2 wahrscheinlich nicht funktionieren wird.

Eine Möglichkeit ist, einen Alpha-Kanal zu den Fliesen hinzuzufügen und es ihnen ermöglichen, um die Ränder zu verblassen, so dass, wenn man sie überlappen, sie ineinander verblassen. Denken Sie daran, PVRTC besser mit allmählichen alpha Blendungen zu arbeiten neigt. Harte alpha Kanten haben oft Artefakte in PVRTC.

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