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!
So, nachdem ich entschieden habe das mir libGDX nicht gefällt, mache ich es mal wieder selbst. Damit portiere ich also meine Engine/Framework/whatever auf Java.
Nun bin ich erstmal auf zwei Probleme gestoßen, eins davon verstehe ich nicht (das kommt zu erst), das andere bekomme ich vielleicht hin, mit Hilfe gehts aber schneller
So Problem 1: Warum beginnt mein Viewport nicht in der unteren linken Ecke?
Dieses quadrat habe ich auf 0|0 gesetzt (wird nicht verschoben, model Matrix = Identitätsmatrix):
Das mit der Textur ist Fehler 2, aber erstmal verstehe ich nicht warum mein Viewport nicht bei 0|0 beginnt, wenn ich diesen auf 0, 0, Breite, Höhe setze.
Der Viewport wird auch nicht falsch gesetzt oder verändern, das hab ich schon geprüft. Also viewport einfach:
Quellcode
1
2
3
4
5
@Override
public void setViewport(int x, int y, int width, int height){
// edit: achso, hiervor wird auch noch glViewport aufgerufen ;)
camera.setViewport(x, y, width, height);
}
Fehler 2 ist eher eine Frage: wie lädt man Texturen für OpenGL in Java?
Ich habe mir dazu eine kleine Funktion geschrieben die einfach eine Bitmap aus dem assets Ordner lädt:
Wie das aussieht seht ihr ja oben. Das mit dem "to byte array" habe ich so auf Stackoverflow gefunden.
Außerdem wäre es gut die Textur flippen zu können...
Vielleicht kann mir ja einer von den Android Experten da draußen helfen, wär auf jeden Fall nett.
0.0 beim vec3 cast -> keine Transformation, damit auch nicht bei 0|0 durch die Projektionsmatrix... Tada
Problem 2: Hmm aber du siehst ja das in der Textur auch Pixelfehler sind (unten bunt), also denke ich, ich lade falsch.
Aber dafür klau ich mir einfach was zusammen
Danke für den Denkanstoß.
[Edit]
Wenn jemand Code dafür "über" hat, nehme ich den gerne.