Вам нужно сделать контекст OpenGL текущим в потоке, который вы хотите использовать, и контекст можно сделать текущим только для одного потока за раз.Поэтому создание контекста и использование его из другого потока - это нормально, если вы делаете его текущим.
Для нескольких потоков, использующих OpenGL, вам нужно несколько контекстов OpenGL, по одному для каждого потока.И вы можете делиться ресурсами между контекстами OpenGL.