Seite 1 von 1

[DirectX11] seltsame Line in Sprite

Verfasst: 14.01.2014, 11:01
von Raven280438
Hi,

Ich habe beim Rendern einer Sprite ein komisches Problem.

Oben in der Sprite ist eine seltsame Linie. (Siehe Anhang)
Diese Line ist eigendlich die unterste "Pixel-Zeile" in der jeweiligen Sprite-Frame.

Die Texture-Koordinaten der beiden oberen Vertices sind korrekt (y = 0.0f).

Woran kann das liegen?



Gruß

Re: [DirectX11] seltsame Line in Sprite

Verfasst: 14.01.2014, 11:17
von Niki
Ich habe wenig Zeit, also nur eine kurze Antwort.

Das sieht nach Texture-Wrapping aus. Schau mal in der Doku bei den Sampler States nach wie man auf Clamp (statt Wrap) stellt.

EDIT: die Linie über dem Kopf sind die unterste Linie der Füße (also gewrapt)

Re: [DirectX11] seltsame Line in Sprite

Verfasst: 14.01.2014, 11:33
von dot
Wie zeichnest du die Sprites? Wie berechnest du die Texturkoordinaten? Wie platzierst du die Sprites (Positionen am Pixelraster ausgerichtet)?

Re: [DirectX11] seltsame Line in Sprite

Verfasst: 14.01.2014, 12:43
von Schrompf
Wenn ich den anderen Thread richtig in Erinnerung habe, benutzt Du einen Texturatlas für alle Sprites. Das könnte also auch die letzte Zeile des darüberliegenden Sprites auf dem Texturatlas sein, die durch den bilinearen Texturfilter mit einberechnet wird. Stelle mal testweise den Texturfilter auf POINT und schau, ob es besser wird.

Das Ganze ist übrigens ein Grundproblem des Renderns mit Texturfiltern und wird Dir immer wieder begegnen. Manche Leute lassen dazu ein paar ähnlichfarbige Pixelreihen Platz um all ihre Sprites, andere rendern immer ohne Texturfilter (dann auch ohne MipMaps) und auch Lösungen über Shader existieren.