Edit - Re-Thunk'd It
blockquote>Пример
Declare @Order table( Id int,[From] int,[To] int ) Insert Into @Order Values (1,100,400), (2,401,600), (3,601,1000), (4,1001,2000) Declare @first int=300, @last int=900 Select A.* ,[Start] = case when [From]>@First then [From] else @First end ,[End] = case when @Last <[To] then @Last else [To] end From @Order A Where [To] between @First and @Last or @Last between [From] and [To]
Возвраты
Id From To Start End 1 100 400 300 400 2 401 600 401 600 3 601 1000 601 900
В соответствии с Windows, это возможно с потоками того же процесса.
Функция, которую Вы ищете, является wglMakeCurrent:
http://msdn.microsoft.com/en-us/library/dd374387%28VS.85%29.aspx
Мое понимание - то, что это не возможно ни с какими существующими драйверами. Контекст OpenGL принадлежит всего одному процессу.
Это даже рискованно для двух потоков в рамках единственного процесса каждому выполнить вызовы OpenGL к единственному контексту OpenGL. (Который не должен быть так дизайном, но это часто - проблема с формирователями тока.)