Currently i am starting my engine all over again, and now i want to make it a bit better ;-)
Well, one thing is, that i want to have a console, like Half-Life, which shows the process when a level gets loaded.
Now i have one problem (i think): My main-thread creates the OpenGL window and renders everything (ie. the console).
Another thread loads all level-data.
However this loading-thread also loads textures and creates the VBOs. But as far as i know OpenGL is not thread-save.
I mean, i could make a call to MakeCurrent (or whatever the function is called) to use the OpenGL context in that thread. But since the loading takes several seconds, the drawing thread will make the context quite often "current" for itself.
Could this make problems? From what i read in books, it shouldnīt work. However up to now my loading thread loads one texture, without making the context current, at all, and it doesnīt complain about any problems.
Will i run into problems, or does it just always work, as long as i donīt render anything (and only load stuff) ?
I am a bit confused about how to use OpenGL properly with more than one threads.