Ich benutze QImage
um Bilder zu laden, die dann als Texturen in OpenGL verwendet werden. Das Problem ist, dass die Farbkomponenten eine unterschiedliche Reihenfolge in QImage
und OpenGL. Derzeit verwende ich GL_RGBA
Format in OpenGL und QImage::Format_ARGB32
in Qt. Aus diesem Grund muss ich für jedes Pixel des geladenen Bildes manuell Bytes austauschen, bevor ich eine Textur in OpenGL erstellen kann. Außerdem muss ich die Endianness eines Rechners kennen, um Bytes korrekt zu tauschen.
Kennt jemand eine bessere Lösung für dieses Problem? Oder gibt es zumindest eine Möglichkeit, diese Konvertierung endianness-unabhängig zu machen?
Danke.