I have a few questions :

1 - What does it mean to make a context current? Does it mean that all subsequent OpenGL calls will apply to that context/window?

2 - With GLFW3, how to use multiple windows (say, 2)? Is it enough to create 2 windows/contexts, make the context current on the first one, draw things, then make the context current on the second window, and draw things?

3 - How does it all fit together with an OpenGL loading library (like gl3w)? When I initialize gl3w once after creating the contexts, will the OpenGL calls work on the context that is current even if I change it alot or will I have to re-initialize gl3w each time I make another context current?


1 Answer 1

  1. Yes. OpenGL is after all, a huge state machine.
  2. Yes. A later edit to specify an important thing: You SHOULD NOT use 2 OpenGL contexts to draw in multiple "spaces", but use a GUI-builder for in-game windows, such as Inventory or Character Stats.
  3. You do not have to re-initialize it every time. All you have to do is initialize gl3w inside the "pre-start" global function(just my preference, you can do it anywhere). After that, you can use OpenGL calls in any context. However, I recommend that you discard gl3w and use glbindings, as the latter offers C++11 support and A LOT more safety than gl3w.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .