Wiki Page Content

Differences between revisions 16 and 17
Revision 16 as of 2013-07-30 00:52:05
Size: 4237
Editor: RyanGordon
Comment: Added code example and remarks.
Revision 17 as of 2013-10-22 21:08:18
Size: 4331
Comment: Added SDL_GL_FRAMEBUFFER_SRGB_CAPABLE (>= SDL 2.0.1).
Deletions are marked like this. Additions are marked like this.
Line 33: Line 33:
||SDL_GL_FRAMEBUFFER_SRGB_CAPABLE||requests sRGB capable visual; defaults to 0 (>= SDL 2.0.1)||
Line 49: Line 50:
<<Anchor(multisample)>> [[http://en.wikipedia.org/wiki/Multisample_anti-aliasing|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.   <<Anchor(multisample)>> [[http://en.wikipedia.org/wiki/Multisample_anti-aliasing|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.
Line 51: Line 52:
<<Anchor(OpenGL)>> SDL_GL_CONTEXT_MAJOR_VERSION and SDL_GL_CONTEXT_MINOR_VERSION are used when creating an OpenGL 3.x context.  <<Anchor(OpenGL)>> SDL_GL_CONTEXT_MAJOR_VERSION and SDL_GL_CONTEXT_MINOR_VERSION are used when creating an OpenGL 3.x context.

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

SDL_GL_FRAMEBUFFER_SRGB_CAPABLE

requests sRGB capable visual; defaults to 0 (>= SDL 2.0.1)

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 2015-04-26 20:08:02 by PhilippWiesemann)

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