при запуске
printf("%s\n", glGetString(GL_VERSION));
printf("%s\n", glGetString(GL_SHADING_LANGUAGE_VERSION));
на моем компьютере выводится:
3.1 Mesa 19.2.8
1.40
Но при попытке получить доступ к функциям из 3.1 в шейдере я получаю следующее сообщение об ошибке:
Поддерживаемые версии: 1.10, 1.20, 1.30, 1.40, 1.00 ES и 3.00 ES
Что меня смущает:
GL_SHADING_LANGUAGE_VERSION
не поддерживает многие функции, которые поддерживает GL_VERSION
. В чем причина этого? Могу ли я использовать функции 3.1 в своем шейдере?
Согласно сообщению об ошибке моего шейдера, мой компьютер поддерживает 3,00 ES, что отличается от GL_SHADING_LANGUAGE_VERSION
. Почему это так?