Я пытаюсь создать контекст OpenGL с помощью osmesa (меза за экраном). Я хочу использовать программную реализацию mesa без окна и сохранить визуализированный вывод в файл png.
http://www.mesa3d.org/osmesa.html
Я создаю контекст GL со следующим:
OSMesaContext context = OSMesaCreateContext(GL_RGBA, NULL);
OSMesaMakeCurrent(context, buffer, GL_UNSIGNED_BYTE, width, height);
Однако, когда я вызываю glGetString(GL_VERSION)
, версия 2.1 Mesa 10.1.1
. Как и ожидалось, ни один из моих шейдеров GLSL ES не компилируется. При использовании SDL я могу предоставить подсказку о версии и создать контекст GLES 2.0.
Как указать версию контекста GL, создаваемого osmesa?