Wie kann ich ARGB-Farbe in opengl / SDL verwenden?

Ich rendere SVG mit Cairo. Das Cairo-Ausgabeformat ist ARGB. Dann habe ich ein gerendertes Bild in eine SDL_Surface eingefügt, damit ich es als OpenGL-Textur verwenden kann.

Das gerenderte Bild sah gut aus, wenn ich direkt die SDL_Surface verwende. Aber ich musste die Oberfläche als Textur in OpenGL verwenden, weil ich eine OpenGL-Funktion brauchte. Das Problem ist, dass alle Farben gespiegelt sind. OpenGL verwendet RGBA und nicht ARGB.

Ich habe mich gefragt, ob mir jemand helfen kann, ein SDL_Surface ARGB in RGBA umzuwandeln.

Nützliche Informationen:
Ich habe dieses Tutorial verwendet, um mein SVG zu rendern.http://tuxpaint.org/presentations/sdl_svg_svgopen2009_kendrick.pdf
Meine Software ist in C geschrieben.

BEARBEITEN: Ich habe dieses Tutorial verwendet, um eine SDL_Surface als OpenGL-Textur zu verwenden.
http://www.sdltutorials.com/sdl-tip-sdl-surface-to-opengl-texture

Sowohl der Renderprozess als auch die OpenGL-Textur stimmen mit den Tutorials überein.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage