[DirectX11] seltsame Line in Sprite

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Raven280438
Establishment
Beiträge: 140
Registriert: 03.10.2010, 20:14

[DirectX11] seltsame Line in Sprite

Beitrag 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ß
Dateianhänge
line.png
line.png (5.31 KiB) 1406 mal betrachtet
Niki
Establishment
Beiträge: 309
Registriert: 01.01.2013, 21:52

Re: [DirectX11] seltsame Line in Sprite

Beitrag 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)
Benutzeravatar
dot
Establishment
Beiträge: 1745
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: [DirectX11] seltsame Line in Sprite

Beitrag von dot »

Wie zeichnest du die Sprites? Wie berechnest du die Texturkoordinaten? Wie platzierst du die Sprites (Positionen am Pixelraster ausgerichtet)?
Benutzeravatar
Schrompf
Moderator
Beiträge: 5047
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [DirectX11] seltsame Line in Sprite

Beitrag 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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Antworten