5 Stimmen

Wie konvertiert man das QImage-Format in ein von OpenGL unterstütztes Format?

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X