gibts da irgend einen Trick
Ganz einfach. Ich verwende auch oft kachelbare Texturen, die nicht exakt quadratisch sind, oder eine außergewöhnliche Größe haben.
In diesem Fall platziere ich meine Kachel-Textur einfach auf einer größeren Bitmap (diese hat dann eine Größe von z.B. 1024x1024, oder 2048x2048, oder 4096x4096, etc). Siehe Screenshot Bild 1. In Deinem Fall wäre eine Bitmap-Größe von 2048x1024 am besten.
Dabei platziere ich die Kacheltextur nicht am Rand von der Bitmap, sondern lasse ein paar Pixel Abstand. Die UV-Koordinaten vom Model werden dann anhand dieser Kachel ausgerichtet.
Danach erstelle ich noch eine zweite Textur, bei der an den Rändern der Kacheltextur schmale Streifen von der gegenüberliegenden Seite der Kacheltextur angebracht werden. Siehe Screenshot Bild 2 (die roten Linien habe ich dazugezeichnet, um zu verdeutlichen, wo die Ränder von der Kacheltextur sind).
Das mache ich deshalb so, damit bei den verkleinerten Mipmaps dann keine Streifen an den Rändern der Kachel zu sehen sind.
Übrigens: üblicherweise erstelle ich meine Kacheltexturen immer in einer möglichst großen Größe (Das Verhältnis zwischen Breite und Höhe ist dabei egal. Also ich könnte z.B. auch eine Kachel mit einer Größe von z.B. 5000x4200 Pixel erstellen. Danach bringe ich die Textur auf eine quadratische Größe (so wie in Bild 1), also z.B. auf 5100x5100, füge dann die gegenüberliegenden Seiten hinzu (wie in Bild 2), und verkleinere erst danach dann die Bitmap auf eine Grüße von z.B. 4096x4096. Dadurch ist die Bildqualität der Kacheltextur dann noch besser, weil man kleine Grafikfehler, die beim Kachelbar-machen entstehen, dann nicht mehr so stark bemerkt.
(vergrößerte Darstellung) Den leeren Bereich der Textur kann man dann für andere Textur-Teile nutzen. z.B. schmale Zwischen-Kachel-Streifen (Übergangs-Streifen von einer Kachel zur anderen). Oder einfach nur schmälere Kachel-Streifen, die man hin und wieder mal zwischen den großen Kacheln einfügen kann, damit z.B. der gekachelte Boden nicht so sehr gekachelt aussieht.
Grüße,
Thomas