I’m using backbuffer alpha for stencil based sun shadows. It works fine on Android and Windows, but on iOS the backbuffer is created with no alpha channel despite setting the alpha attribute to 4 or 8.
Code:
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 4);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
gWindow = SDL_CreateWindow("Planet Droidia", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 0, 0, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_FULLSCREEN | SDL_WINDOW_RESIZABLE|SDL_WINDOW_ALLOW_HIGHDPI);
gContext = SDL_GL_CreateContext(gWindow);
renderer = SDL_CreateRenderer(gWindow, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE);
…
int alphasize;
SDL_GL_GetAttribute(SDL_GL_ALPHA_SIZE,&alphasize);
// alphasize is 0 on iOS, 8 on Android.