OpenGL и многопоточность - PullRequest
       7

OpenGL и многопоточность

4 голосов
/ 31 декабря 2010

Известно, что драйверы OpenGL обычно не допускают многопоточность.Однако нужно ли иметь дело с основным потоком (например, SDL), который поднял контекст GL?Если кто-то создает поток и с тех пор только оттуда отправляет команды OpenGL, будет ли это безопасно?Или это должно быть ограничено основным потоком, который поднял контекст GL?

1 Ответ

6 голосов
/ 31 декабря 2010

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

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

...