After attempting to split the main thread in two, using one child thread for rendering (the loading screen) and the other for loading data, it looks like the opengl context is bound to the thread it is created in.
Need to figure out either a new method of handling data loading and rendering, or the correct way of sharing data between two threads.