我正在使用Cairo来渲染SVG。Cairo输出格式为ARGB。然后,我将渲染的图像放入SDL_Surface中,以便将其用作openGL纹理。
当我直接使用SDL_Surface时,渲染出的图像看起来非常好。但是,我必须将表面作为openGL纹理使用,因为我需要一些openGL函数。问题是,所有颜色都被翻转了。OpenGL使用RGBA而不是ARGB。
我想知道是否有人可以帮助我将SDL_Surface ARGB转换为RGBA。
有用的信息:
我使用了这个教程来渲染我的SVG。 http://tuxpaint.org/presentations/sdl_svg_svgopen2009_kendrick.pdf
我的软件是用C编写的。
编辑: 我使用了这个教程将SDL_Surface用作openGL纹理。
http://www.sdltutorials.com/sdl-tip-sdl-surface-to-opengl-texture 渲染过程和openGL纹理都与教程相同。
当我直接使用SDL_Surface时,渲染出的图像看起来非常好。但是,我必须将表面作为openGL纹理使用,因为我需要一些openGL函数。问题是,所有颜色都被翻转了。OpenGL使用RGBA而不是ARGB。
我想知道是否有人可以帮助我将SDL_Surface ARGB转换为RGBA。
有用的信息:
我使用了这个教程来渲染我的SVG。 http://tuxpaint.org/presentations/sdl_svg_svgopen2009_kendrick.pdf
我的软件是用C编写的。
编辑: 我使用了这个教程将SDL_Surface用作openGL纹理。
http://www.sdltutorials.com/sdl-tip-sdl-surface-to-opengl-texture 渲染过程和openGL纹理都与教程相同。