For rendering I have a current GL context associated with a window. In the case where the application renders multiple scenes (for example using accumulation or different viewpo
In GUI programs you can have multiple opengl views, where some of them run in the same thread as the GUI and others run in their own thread. Further more you can run opengl in offscreen mode. At least one context per thread.
Not sure if it makes sense to have more contexts per thread.