• 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
VisualC Loading commit data...
VisualCE Loading commit data...
XCodeiPhoneOS Loading commit data...
Xcode Loading commit data...
build-scripts Loading commit data...
docs Loading commit data...
include Loading commit data...
src Loading commit data...
test Loading commit data...
.indent.pro Loading commit data...
BUGS Loading commit data...
Borland.html Loading commit data...
Borland.zip Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
INSTALL Loading commit data...
Makefile.dc Loading commit data...
Makefile.ds Loading commit data...
Makefile.in Loading commit data...
Makefile.minimal Loading commit data...
NOTES Loading commit data...
README Loading commit data...
README-SDL.txt Loading commit data...
README.BeOS Loading commit data...
README.CVS Loading commit data...
README.DC Loading commit data...
README.DirectFB Loading commit data...
README.MacOSX Loading commit data...
README.MiNT Loading commit data...
README.NanoX Loading commit data...
README.OS2 Loading commit data...
README.Porting Loading commit data...
README.QNX Loading commit data...
README.RISCOS Loading commit data...
README.SVN Loading commit data...
README.Watcom Loading commit data...
README.WinCE Loading commit data...
README.iphoneos Loading commit data...
README.wscons Loading commit data...
SDL.spec.in Loading commit data...
TODO Loading commit data...
UNDER_CONSTRUCTION.txt Loading commit data...
VisualC.html Loading commit data...
Watcom-OS2.zip Loading commit data...
Watcom-Win32.zip Loading commit data...
WhatsNew Loading commit data...
acinclude.m4 Loading commit data...
autogen.sh Loading commit data...
configure.in Loading commit data...
docs.html Loading commit data...
sdl-config.in Loading commit data...
sdl.m4 Loading commit data...
sdl.pc.in Loading commit data...