Wiki Page Content

SDL_GLattr

An enumeration of OpenGL configuration attributes.

Values

SDL_GL_RED_SIZE

the minimum number of bits for the red channel of the color buffer; defaults to 3

SDL_GL_GREEN_SIZE

the minimum number of bits for the green channel of the color buffer; defaults to 3

SDL_GL_BLUE_SIZE

the minimum number of bits for the blue channel of the color buffer; defaults to 2

SDL_GL_ALPHA_SIZE

the minimum number of bits for the alpha channel of the color buffer; defaults to 0

SDL_GL_BUFFER_SIZE

the minimum number of bits for frame buffer size; defaults to 0

SDL_GL_DOUBLEBUFFER

whether the output is single or double buffered; defaults to double buffering on

SDL_GL_DEPTH_SIZE

the minimum number of bits in the depth buffer; defaults to 16

SDL_GL_STENCIL_SIZE

the minimum number of bits in the stencil buffer; defaults to 0

SDL_GL_ACCUM_RED_SIZE

the minimum number of bits for the red channel of the accumulation buffer; defaults to 0

SDL_GL_ACCUM_GREEN_SIZE

the minimum number of bits for the green channel of the accumulation buffer; defaults to 0

SDL_GL_ACCUM_BLUE_SIZE

the minimum number of bits for the blue channel of the accumulation buffer; defaults to 0

SDL_GL_ACCUM_ALPHA_SIZE

the minimum number of bits for the alpha channel of the accumulation buffer; defaults to 0

SDL_GL_STEREO

whether the output is stereo 3D; defaults to off

SDL_GL_MULTISAMPLEBUFFERS

the number of buffers used for multisample anti-aliasing; defaults to 0; see Remarks for details

SDL_GL_MULTISAMPLESAMPLES

the number of samples used around the current pixel used for multisample anti-aliasing; defaults to 0; see Remarks for details

SDL_GL_ACCELERATED_VISUAL

set to 1 to require hardware acceleration, set to 0 to force software rendering; defaults to allow either

SDL_GL_RETAINED_BACKING

not used (deprecated)

SDL_GL_CONTEXT_MAJOR_VERSION

OpenGL context major version; see Remarks for details

SDL_GL_CONTEXT_MINOR_VERSION

OpenGL context minor version; see Remarks for details

SDL_GL_CONTEXT_EGL

set to 1 to use EGL; default is platform-dependent

SDL_GL_CONTEXT_FLAGS

some combination of 0 or more of elements of the SDL_GLcontextFlag enumeration; defaults to 0

SDL_GL_CONTEXT_PROFILE_MASK

one of the members of the SDL_GLprofile enumeration or 0 to allow any profile; defaults to 0

SDL_GL_SHARE_WITH_CURRENT_CONTEXT

OpenGL context sharing; defaults to 0

Code Examples

SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
SDL_GL_SetAttribute(SDL_DOUBLEBUFFER, 1);
SDL_GL_CreateContext(window);

Remarks

While you can set most OpenGL attributes normally, the attributes listed above must be known before SDL creates an OpenGL context. These attributes are set and read with SDL_GL_SetAttribute() and SDL_GL_GetAttribute().

In some cases, these attributes are minimum requests; the GL does not promise to give you exactly what you asked for. It's possible to ask for a 16-bit depth buffer and get a 24-bit one instead, for example, or to ask for no stencil buffer and still have one available. Context creation should fail if the GL can't provide your requested attributes at a minimum, but you should check to see exactly what you got.

Multisample anti-aliasing is a type of full screen anti-aliasing. Multipsampling defaults to off but can be turned on by setting SDL_GL_MULTISAMPLEBUFFERS to 1 and SDL_GL_MULTISAMPLESAMPLES to a value greater than 0. Typical values are 2 and 4.

SDL_GL_CONTEXT_MAJOR_VERSION and SDL_GL_CONTEXT_MINOR_VERSION are used when creating an OpenGL 3.x context.


CategoryEnum, CategoryVideo

None: SDL_GLattr (last edited 2013-07-30 00:52:05 by RyanGordon)

Feedback
Please include your contact information if you'd like to receive a reply.
Submit