Mit folgenden Code, will ich die Textur-Koordinaten verschieben.
Rotieren und Skalieren klappt einwandfrei.
Ich denke mal, es hängt irgendwie zusammen, das die Textur-Koordinaten nur ein XY haben. Egal, was ich für einen Wert ich bei Translate reinschreibe, auch zB. 1'000, alles hat keinen Einfluss.
Registriert: Mi Aug 14, 2013 21:17 Beiträge: 588
Programmiersprache: C++
Also ich sehe keinen Fehler. Bist du dir sicher, dass du die Matrix korrekt herum aufbaust und nicht transponiert? Wenn nicht, probiere mal FMatrix[0, 2] statt FMatrix[2, 0]. (Da die letzte Zeile der Matrix auf die Berechnung keinen Einfluss hat, kannst du die Translation hier auch einfach sowohl in die letzte Spalte als auch in die letzte Zeile schreiben.) Wie übergibst du die Matrix an den Shader?
_________________ So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)
Ich habe gerade festgestellt, wen ich eine reine Verschiebung mache, also ohne Rotation, dann verschiebt sich die Textur. Mal gucken, ob ich das Problem beheben kann, wen ich für die Translation und Rotierung eine extra Matrix nehme, und dies zum Schluss multipliziere.
Ich habe unterdessen für das verschieben und drehen separate Matrizen. Die Textur wird wohl verschoben, aber der Drehpunkt der Textur ist immer links/unten.
Ändere ich die Texturkoordinaten manuell, als Beispiel, die 0.0 zu -1.0, dann ist der Drehpunkt in der Mitte.
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.