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