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!

Suchergebnisse

Suchergebnisse 1-15 von insgesamt 15.

Werbeanzeige

22.11.2012, 16:44

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

Hahaha das war einfach nur dumm und peinlich. Wenn einem geholfen wird dann hat man die Angewohnheit jeden kleinen Mist nachzufragen anstatt nochmal selbst 2 Minuten darüber nachzudenken.

22.11.2012, 16:38

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

Shader Quellcode 1 2 3 4 5 6 7 8 9 10 private final String VERTEXSHADERCODE = "uniform mat4 vertexPositionMatrix;" + "uniform mat3 texturePositionMatrix;" + "attribute vec4 vertexPosition;" + "attribute vec2 texturePosition;" + "varying vec2 texture_Position;" + "void main() {" + "gl_Position = vertexPositionMatrix * vertexPosition;" + "texture_Position = texturePositionMatrix * texturePosition;" + "}"; 3x3 Matrix Quellcode 1 textureMatrix = new float[] {1, 0, 0, 0, 1, 0, 0, 0, 1};

22.11.2012, 16:35

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

Für die 2x2 Matrix habe ich den Shader so gelassen wie vorher. Dann einfach nur mit Quellcode 1 textureMatrix = new float[] {1f, 0f, 0f, 1f}; die Matrix erstellt und anschließend mit Quellcode 1 2 texturePositionMatrixHandle = GLES20.glGetUniformLocation(program, "texturePositionMatrix"); GLES20.glUniformMatrix2fv(texturePositionMatrixHandle, 1, false, textureMatrix, 0); übergeben. ----- Für die 3x3 Matrix habe ich im Shader aus uniform mat2 texturePositionMatrix; ein uniform mat3 texturePositio...

22.11.2012, 16:26

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

Ich habe jetzt für die Textur die ganzen Modifikationen mit der Klasse Matrix gestrichen und stattdessen Quellcode 1 textureMatrix = new float[] {1f, 0f, 0f, 1f} für eine 2x2 Matrix gemacht. Das klappt auch wunderbar, die komplette Textur wird mir angezeigt. Jetzt möchte ich eine 3x3 Matrix verwenden, für Translation, dazu muss ich ja im Shader sagen Quellcode 1 uniform mat3 texturePositionMatrix dass eine 3x3 Matrix kommt und anschließend diese mit Quellcode 1 GLES20.glUniformMatrix3fv(textureP...

22.11.2012, 15:54

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

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

22.11.2012, 15:41

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

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 ?

22.11.2012, 15:33

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

Zitat von »dot« 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...

22.11.2012, 15:27

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

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

22.11.2012, 15:20

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

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 ?

22.11.2012, 15:16

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

Hmm, ich dachte das hätte ich getan. Im Shader Quellcode 1 uniform mat2 texturePositionMatrix; Und dann Quellcode 1 glUniformMatrix2fv oder besteht hier ein Verständnisproblem ? - Ich denke dass Quellcode 1 glUniformMatrix2fv eine 2x2 Matrix übergibt und Quellcode 1 glUniformMatrix4fv eine 4x4 Matrix übergibt.

22.11.2012, 15:02

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

Wenn ich das jetzt richtig verstehe dann liegt es daran dass ich im Shader eine 2x2 Matrix definiere und anschließend mit glUniformMatrix2fv versuche diese 2x2 Matrix mit einer 4x4 Matrix, die ich vorher über Matrix.setIdentityM(textureMatrix, 0) gesetzt habe, zu verbinden ? Wenn dem so ist: Wieso kann ich keine 4x4 Matrix für die Textur im Shader definieren ? - in AS3 mit Stage3D habe ich eine 4x4 Matrix für die vertices und eine 4x4 Matrix für die Textur. MFG

22.11.2012, 14:39

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

Ja aber die 4x4 Matrix ist über die vertices gezogen, über der Textur ist eine 2x2 Matrix.

22.11.2012, 14:26

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

Ist das Problem zu simpel, dass es keiner Antwort bedarf ? Übersehe ich irgendetwas banales ?

20.11.2012, 20:45

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

Die Breite ist jetzt korrekt, die Höhe stimmt aber noch nicht.

18.11.2012, 23:17

Forenbeitrag von: »AWeber«

Android OpenGL ES 2.0 Texture Matrix

[EDIT] Ich habe gerade gemerkt dass in der Breite alle Pixel gezeigt werden, in der Höhe aber nur das erste Pixel. Woran kann das liegen ? Java-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 11...

Werbeanzeige