Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
ich wollte in OpenGL eine Textur bewegen. Das laden klappt, das anzeigen klappt (kleiner Bug: das Bild ist verkehrt herum), jedoch kann ich die Textur nicht "richtig" bewegen, denn wenn ich die Texture bewege entsteht:
a) ein weißer Streifen der nach links geht (s. Bild 2)
b) der Hintergrund bleibt schwarz (s. Bild 2) , aber wenn ich das Bild wieder zurück bewege verschwindet der schwarze Hintergrund.
Verkehrt herum, weil in OpenGL die Texturkoordinaten anders als "normal" definiert sind. (0, 0) ist unten links, nicht oben links.
Der Streifen entsteht wohl, weil du den Framebuffer nicht leerst. Oder?
Ich vermute eher der weiße (graue) Streifen entsteht durch den Texcoord 'wrap'-Modus. CLAMP trimmt die Texturkoordianten auf den Intervall [0,1] und liefert damit Interpolationsartefakte. Das selbe Problem tritt auch oft bei Skyboxen auf. CLAMP_TO_EDGE sollte den Effekt verhindern.
Ich kapiere es einfach nicht... Ich muss doch links unten anfangen, nach rechts gehen dann nach oben und dann nach links, oder?
@David: So lösche ich den Bildschrim :
C-/C++-Quelltext
1
glClear(GL_COLOR_BUFFER_BIT);
PS: myWidth = Breite der Textur && myHeight = Höhe der Textur
Edit: Wenn myPos im Minus-Bereich liegt, dann ist der ganze Bildschirm schwarz und dann gibt es wieder das selbe Problem mit der Textur.
Edit2: Ich glaube langsam, dass es an den Minus Koordinaten liegt.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »C++-Coder« (27.05.2012, 12:50)