Ich versuche, ein 2D-Kollisionserkennungssystem für mein Spiel in Java/LWJGL/OpenGL zu machen.Wie funktioniert glReadPixels in OpenGL/LWJGL?
Mein Problem ist das glReadPixels() wirkt seltsam und ich weiß nicht was ich falsch mache.
Das Problem ist normalerweise gibt es den perfekten RGBA-Code des Pixels zurück, aber manchmal gibt es negative Zahlen oder Farben, die nicht auf meinem Bildschirm sind. (Für Alpha bekomme ich immer -1)
Was kann dieses Problem verursachen?
Mein Code:
int size = 10;
ByteBuffer pixels = BufferUtils.createByteBuffer(width * height * 4);
glReadPixels(100, 500, size, size, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
Ich denke über vielleicht die schlechten Parametern ich? (GL_RGBA, GL_UNSIGNED_BYTE)
Was soll ich verwenden?
Sie fragen ** unsigned ** Bytes ab. Wenn Sie eine -1 sehen, dann sehen Sie nicht vorzeichenlose Bytes (die nicht -1 sein können), sondern irgendeine Art von signierter Repräsentation. – BDL
Vielleicht hilft der Abschnitt ["Bildschirmbild speichern"] (http://wiki.lwjgl.org/wiki/Taking_Screen_Shots.html). – BDL
oh danke, das war das Problem, das ich nicht benutzt habe (& 0xFF), um die Teile loszuwerden, die ich nicht brauche, danke – pocokknight1