Установка версии GLSL на Mac - PullRequest
       13

Установка версии GLSL на Mac

5 голосов
/ 29 августа 2011

Как можно настроить GLSL-версию на Mac?Это вообще возможно?Я запускаю фрагментный шейдер и хотел бы создать массив vec3s, но компилятор шейдера выдает ошибку, указывающую, что мне нужно использовать более высокую версию GLSLКонкретная ошибка

'array of 3-component vector of float' : array type not supported here in glsl < 120 

Спасибо за помощь.

1 Ответ

5 голосов
/ 29 августа 2011

Хотя у меня нет опыта работы с Mac, вы можете указать самую низкую требуемую версию вашего шейдера (которая, я думаю, по умолчанию составляет 1,10), используя что-то вроде

#version 120      //shader requires version 1.20

как первая строка в вашем шейдере. Но, конечно, указанная версия также должна поддерживаться вашим оборудованием и драйвером, которые вы можете проверить с помощью glGetString(GL_SHADING_LANGUAGE_VERSION).

EDIT: Я подтвердил это, посмотрев в спецификацию GLSL, в которой также сказано, что все шейдеры, которые связаны вместе, должны ориентироваться на одну и ту же версию, хотя я совершенно уверен, что сам когда-то успешно нарушил это, но это может быть из-за моего прощающего драйвера nVidia. Так что, если он все еще жалуется при компоновке, добавьте тот же тег #version и в вершинный шейдер.

...