• Sam Lantinga's avatar
    Date: Sun, 22 Mar 2009 12:52:29 +0000 · ba096ad0
    Sam Lantinga authored
    From: Luke Benstead
    Subject: OpenGL 3.0 Context Creation
    
    I've attached a patch which implements OpenGL 3.x context creation on
    the latest SVN. I've added two options to SDL_GL_SetAttribute, these
    are SDL_GL_CONTEXT_MAJOR_VERSION and SDL_GL_CONTEXT_MINOR_VERSION.
    These default to 2 and 1 respectively. If the major version is less
    than 3 then the current context creation method is used, otherwise the
    appropriate new context creation function is called (depending on the
    platform).
    
    Sample code:
    
        if (SDL_Init(SDL_INIT_VIDEO) != 0) {
            printf("Unable to initialize SDL: %s\n", SDL_GetError());
            return 1;
        }
    
        SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); //Without these 2 lines, SDL will create a GL 2.x context
        SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
        SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
    
        SDL_Surface* screen = SDL_SetVideoMode( 640, 480, 16, SDL_OPENGL | SDL_FULLSCREEN );
    
    
    I've implemented context creation on both Win32 and X and run basic
    tests on both. This patch doesn't provide access to all the options
    allowed by the new context creation (e.g. shared contexts, forward
    compatible contexts) but they can be added pretty easily.
    
    --HG--
    extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403567
    ba096ad0
Name
Last commit
Last update
..
Xext Loading commit data...
ataricommon Loading commit data...
bwindow Loading commit data...
cocoa Loading commit data...
dc Loading commit data...
directfb Loading commit data...
dummy Loading commit data...
fbcon Loading commit data...
gapi Loading commit data...
gem Loading commit data...
ipod Loading commit data...
nanox Loading commit data...
nds Loading commit data...
os2fslib Loading commit data...
photon Loading commit data...
ps2gs Loading commit data...
qnxgf Loading commit data...
riscos Loading commit data...
svga Loading commit data...
uikit Loading commit data...
vgl Loading commit data...
win32 Loading commit data...
wscons Loading commit data...
x11 Loading commit data...
xbios Loading commit data...
SDL_RLEaccel.c Loading commit data...
SDL_RLEaccel_c.h Loading commit data...
SDL_alphamult.c Loading commit data...
SDL_alphamult.h Loading commit data...
SDL_blendline.c Loading commit data...
SDL_blendpoint.c Loading commit data...
SDL_blendrect.c Loading commit data...
SDL_blit.c Loading commit data...
SDL_blit.h Loading commit data...
SDL_blit_0.c Loading commit data...
SDL_blit_1.c Loading commit data...
SDL_blit_A.c Loading commit data...
SDL_blit_N.c Loading commit data...
SDL_blit_auto.c Loading commit data...
SDL_blit_auto.h Loading commit data...
SDL_blit_copy.c Loading commit data...
SDL_blit_copy.h Loading commit data...
SDL_blit_slow.c Loading commit data...
SDL_blit_slow.h Loading commit data...
SDL_bmp.c Loading commit data...
SDL_draw.h Loading commit data...
SDL_drawline.c Loading commit data...
SDL_drawpoint.c Loading commit data...
SDL_fillrect.c Loading commit data...
SDL_gamma.c Loading commit data...
SDL_glesfuncs.h Loading commit data...
SDL_glfuncs.h Loading commit data...
SDL_leaks.h Loading commit data...
SDL_pixels.c Loading commit data...
SDL_pixels_c.h Loading commit data...
SDL_rect.c Loading commit data...
SDL_rect_c.h Loading commit data...
SDL_renderer_gl.c Loading commit data...
SDL_renderer_gl.h Loading commit data...
SDL_renderer_gles.c Loading commit data...
SDL_renderer_gles.h Loading commit data...
SDL_renderer_sw.c Loading commit data...
SDL_renderer_sw.h Loading commit data...
SDL_stretch.c Loading commit data...
SDL_surface.c Loading commit data...
SDL_sysvideo.h Loading commit data...
SDL_video.c Loading commit data...
SDL_yuv_mmx.c Loading commit data...
SDL_yuv_sw.c Loading commit data...
SDL_yuv_sw_c.h Loading commit data...
mmx.h Loading commit data...
sdlgenblit.pl Loading commit data...