Getting rid of SDL

Currently I use SDL to initialize my OpenGL context. But SDL is becoming a pain because it is not very feature rich. (For example I want to open multiple independent windows in my application. I also want to remove the Window frame. Is there an example around here of how to initialize an OpenGL context with my own WinMain and WinProc functions?


This is more Windows related than an advanced question. Use glut :slight_smile:

Well, you can try out my library if you like experiments :wink: I woule appreciate having a beta-tester as well

I wrote it recently, it works only with Windows for now but appears to be rather stable. The site is

Also, you should look into glfw(just google) and glut

Glut does not have the features I want either. I know you have to load the OPENGL32.DLL or something like that but I am not sure of all the details. I imagine that it is not that hard but someone should post an example of this somewhere.

Does your library come with source code?


Yes, but it is written in object pascal

What features do you want then?

Generally, a MSDN article covers the topic of using the OpenGL on Windows rather nicely

Now, if you need multisampling, things will get rather complicated, as you need to select a special pixel format, that is not supported by GDI. You’ll have to use a WGL_ARB_pixel_format extension. There should b esome tutorials on the net.

You could for instance check my framework. I don’t use anything but plain Win32 calls.

Try out GLFW which is running fine on unices, mosx, win32 ,dos & so on…

Originally posted by rsforster:
I also want to remove the Window frame.

You can use the SDL_NOFRAME flag for this. For the other things I don’t have a fully reliable solution though.

@rsforster if you’re looking to write directly to the metal of windows, then Nehe’s tutorials are a good starting point for creating your own WinProc and such.

The MSDN also has a few articles, but they’re a tad older…okay more than a tad. But they’re also there if you need (or prefer) another resource.