Sign in to follow this  

What's the modern setup with OpenGL and the Win32 API?

This topic is 1353 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

It's been some years since I touched OpenGL, and I'm wanting to relearn it and apply it to my library written in C++/Win32 API. I know OpenGL has gone through some changes, so I'm assuming my header and lib files are probably out of date. According to my computer, I have OpenGL version 3.1.

Share this post


Link to post
Share on other sites
#include <D3D11.h> // I'm being facetious of course... or am I?

I find the easiest way to use GL (on Windows or elsewhere) is via a windowing/input library like SDL2 or GLFW or SFML. Combine these with GLEW to access all of GL. Avoid GLUT or FreeGLUT.

I find GLFW easiest to use for small-medium uses. It lets you concentrate on just GL without any other fluff. SDL2 is my preferred "whole package" library, though some C++ users have a strong preference for SFML and it's C++-iness (which I find is more baggage than help given that I write my own high-level wrappers anyway, but that's me).

http://lazyfoo.net/tutorials/SDL/ I've heard this site recommended. It has plenty of SDL2 tutorials. Lessons 01, 03, 04, 49, and 50 and probably the most relevant to you.

GLFW's documentation should be all you need to get up and running with it on GL; it's that simple. In particular, the tutorial covers almost everything you need to know (aside from using GLEW, but there's not much to that).

Share this post


Link to post
Share on other sites

Thanks for the recommendations, though I have my own library with the Win32 API similar to SFML, though it doesn't have a name yet. "Awesome" sounds like a good name though. I enjoyed SFML in the past, but I kept dropping into OS-specific code because SFML had no way to call them (it has to stay portable, so they just give you the window handle to deal with things they haven't implemented), so that was a drawback for myself. Since I'm dropping into OS-specific code, I figured I mind as well use the Win32 API in full to take advantage of the system. However, it made me a better OS programmer and less dependent on high abstractions, and now it looks like SFML. I still enjoy the benefits of SFML and I'm looking forward to their iOS release. DirectX is great too, but my career interest requires an understanding of OpenGL/OpenGL:ES. Anyway, enough thinking there. Tools are great, but one must decide what is needed for any given application.

 

Speaking of that, so what I need is GLEW for C++/Win32 API?

Edited by shinypixel

Share this post


Link to post
Share on other sites

Speaking of that, so what I need is GLEW for C++/Win32 API?


It just handles wrapping the extension API in order to expose the functionality of your driver. Especially on Windows, as Microsoft only support GL 1.2 in their SDK, requiring you to use the extension API to access any newer functionality. It's handy on other platforms, too, but it (or a library like it) is for all intents and purposes mandatory on Windows.

Share this post


Link to post
Share on other sites

This topic is 1353 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this