WrapProblem? - Teil einer Textur wiederholt zeichnen
-
Gruß
Hab ne 128x128 Textur, die aus mehreren Bildern der Größe 16x16 besteht.
Wie kann ich ein einzelnes (Teil-)Bild nun mehrmals wiederholen lassen?Wenn die Textur ein Bild ist, habe ich damit kein Problem.
Geb dann einfach bei Tu bzw Tv nen Wert >1.0 ein, aber für Teilbilder funzt das nicht mehr...Derzeit schaut das (gekürzt) so. Klappt prima, aber ich hab keine Idee mehr wie ich die Textur mehrfach malen lassen kann...
//nPic indentifiziert die verschiedenen Bilder in der Textur int Tu = nPic%8; int Tv = nPic/8; CustomVertex.TransformedColoredTextured[] verts = new CustomVertex.TransformedColoredTextured[4]; verts[0].Tu = 16*(Tu-1)/128f; verts[0].Tv = 16*Tv/128f; verts[1].Tu = 16*Tu/128f; verts[1].Tv = 16*Tv/128f; verts[2].Tu = 16*(Tu-1)/128f; verts[2].Tv = 16*(Tv+1)/128f; verts[3].Tu = 16*Tu/128f; verts[3].Tv = 16*(Tv+1)/128f;
Gruß und Dank
c#
-
Hm... hab ich das Problem schlecht beschrieben?
Also mal nen Beispiel:
Textur 32x32 Pixel.
Das obere,linke viertel 16x16 soll nun in einen 16x32 Bereich dargestellt werden.
Die Textur soll dabei aber nicht gestreckt werden, sondern sich in y-Richtung wiederholen.Wenn man nicht einen Teil einer Textur, sondern die Ganze zeichnet, ist das kein Problem. (Tv = 2.0)
Probiert habe ich es nun mit (Tv = 0.5 / Tv 2.5), das führt aber leider dazu, das er 2,5x den linken (16Pixel breiten) Streifen zeichnet und nicht 2 mal das gewünschte viertel...
Ist eine Umsetzung über TexturKoordinaten überhaupt möglich?
Gruß
-
Nein, das geht nicht.
Eventuell mit einem Pixel-Shader...
-
Mist, aber danke.