Du bist nicht angemeldet.

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!

Werbeanzeige

AWeber

Frischling

  • »AWeber« ist der Autor dieses Themas

Beiträge: 15

Beruf: Student + Softwareentwickler

  • Private Nachricht senden

11

22.11.2012, 15:20

Also liegt das Problem an

Quellcode

1
2
3
Matrix.setIdentityM(textureMatrix, 0);
Matrix.translateM(textureMatrix, 0, 0.0f, 0.0f, 0.0f);
Matrix.scaleM(textureMatrix, 0, 1.0f, 1.0f, 1.0f);


denn dies erzeugt eine 4x4 Matrix, richtig ?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

22.11.2012, 15:22

Ich hab natürlich keine Ahnung was Matrix genau ist, bzw. was für eine Library du da verwendest usw. Aber das Problem liegt vermutlich nicht dort, sondern einzig an der Tatsache, dass Matrix wohl eine 4x4 Matrix ist...

AWeber

Frischling

  • »AWeber« ist der Autor dieses Themas

Beiträge: 15

Beruf: Student + Softwareentwickler

  • Private Nachricht senden

13

22.11.2012, 15:27

Ohje du hast recht.

android.opengl.Matrix erzeugt IMMER eine 4x4 Matrix,
das ist natürlich murks.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

14

22.11.2012, 15:28

Mach einfach manuell ein Array aus 4 floats und schreib die richtigen Werte rein oder so. ;)

Btw, gleich mal ein Heads up: Das nächste Problem, in das du vermutlich laufen wirst, ist, dass du mit einer 2x2 Matrix keine Translation von 2D Koordinaten beschreiben kannst. Dafür brauchst du eine 3x3 Matrix...

AWeber

Frischling

  • »AWeber« ist der Autor dieses Themas

Beiträge: 15

Beruf: Student + Softwareentwickler

  • Private Nachricht senden

15

22.11.2012, 15:33


Btw, gleich mal ein Heads up: Das nächste Problem, in das du vermutlich laufen wirst, ist, dass du mit einer 2x2 Matrix keine Translation von 2D Koordinaten beschreiben kannst. Dafür brauchst du eine 3x3 Matrix...


Da musste ich kurz schmunzeln, denn das war mir auch schon aufgefallen.

Hat das denn irgendwelche Nachteile wenn ich eine 4x4 Matrix für die Textur verwende,
um so z.b. weiterhin die Hilfsklasse Matrix verwenden zu können ?

Da ich in AS3 mit Stage3D für die Textur auch eine 4x4 Matrix verwende hatte ich nie das Problem,
dass Translation nicht geklappt hätte.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

16

22.11.2012, 15:38

Naja, du würdest nur 9 der 16 Elemente der Matrix benutzen, ca. 50% der Einträge wären also sinnlos. In deinem Fall vermutlich aber vernachlässigbar...

AWeber

Frischling

  • »AWeber« ist der Autor dieses Themas

Beiträge: 15

Beruf: Student + Softwareentwickler

  • Private Nachricht senden

17

22.11.2012, 15:41

Ne ich möchte es ja schon ordentlich machen, nicht quick and dirty hauptsache es läuft.

Dann benötige ich also für die Darstellung der Textur eine 2x2 Matrix,
macht Sinn aufgrund der 4 Float-Werte.

Reicht denn für Translation, Rotation und Skalierung eine 3x3 Matrix ?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

18

22.11.2012, 15:45

Reicht denn für Translation, Rotation und Skalierung eine 3x3 Matrix ?

Für 2D Koordinaten: Ja, dafür würde sogar eine 2x3 Matrix reichen, bzw. einfach eine 2x2 Matrix + 2D Translationsvektor...

AWeber

Frischling

  • »AWeber« ist der Autor dieses Themas

Beiträge: 15

Beruf: Student + Softwareentwickler

  • Private Nachricht senden

19

22.11.2012, 15:54

Dann danke ich dir sehr für deine Zeit,
du hast mir sehr gut geholfen.

Nebenbei: Nicht schlecht dass du, obwohl du nicht wusstest was die Hilfsklasse Matrix genau macht,
darauf getippt hast dass sie immer eine 4x4 Matrix zurückgibt.

MFG

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

20

22.11.2012, 16:07

Nebenbei: Nicht schlecht dass du, obwohl du nicht wusstest was die Hilfsklasse Matrix genau macht,
darauf getippt hast dass sie immer eine 4x4 Matrix zurückgibt.

*verbeug*

wenn man ein bisschen Erfahrung hat, ist das allerdings eine relativ naheliegende Annahme... ;)

Werbeanzeige