Adjusted Visualisation to always maintain a hidden window at all times (this a requirement to have an active GLContext by SDL2 [apparently GL3+ don't require a window for a GLContext]).
Not tested what happens if SDL methods that affect the window are called from a different thread (aka MSAA).
Nuance learned from this work;
If you close the SDL window that created the context in a different thread to that it was created, shit breaks. This doesn't seem to apply for tertiary windows created elsewhere.
If you fail to destroy a window, subsequent windows won't receive events, such as clicking cross in the corner.
Adjusted
Visualisation
to always maintain a hidden window at all times (this a requirement to have an active GLContext by SDL2 [apparently GL3+ don't require a window for a GLContext]).Not tested what happens if SDL methods that affect the window are called from a different thread (aka MSAA).
Nuance learned from this work;
If you close the SDL window that created the context in a different thread to that it was created, shit breaks. This doesn't seem to apply for tertiary windows created elsewhere.
If you fail to destroy a window, subsequent windows won't receive events, such as clicking cross in the corner.