imagine this:
1. thread.A has created the display and loaded the first dataset
2. it happily renders the textured dataset with texture.A
3. now thread.B needs to allocate a texture for loading the second dataset
4. say it manages to allocate texture.B
see what happens ? now texture.B is the 'currently selected' texture. any
triangles that thread.A is painting now would suddenly have texture.B
assigned instead of texture.A - oh dear ...
1. thread.B has to call
makeCurrent() before it can do any GL-stuff
2. thread.A should not do any GL-stuff after thread.B has called
makeCurrent()3. thread.A needs to call
makeCurrent() after thread.B is done doing GL-stuff
only one thread is allowed to do GL-stuff at a time
and it needs to call
makeCurrent() before it can do so.
i hope that helped...
