The most time-consuming part of loading textures is usually disk access and any format conversion, both of which are not dependent on OpenGL and thus can safely take place in another thread. After the texture has been read in memory and in the desired format, the actual copy to the OpenGL buffer is pretty fast.
Getting into the details of streaming programming is too complicated for this answer, but there is some documentation there, and as soon as it clicks on your head, it is pretty simple (like pointers and memory).
- (, , /, - ), . , , , , , . , OpenGL . , , , ( ).
. API-, (DirectX), , OpenGL , , . - , , , , . ( , , GPU ). OpenGL, .
Windows , , , ( , API). ++ 11 , Visual Studio, , .