Intel и GLSL - не удалось скомпилировать фрагментный шейдер - PullRequest
2 голосов
/ 23 ноября 2011

Я сталкиваюсь с довольно странной ошибкой компиляции GLSL при использовании Intel HD Graphics 3000.

ОШИБКА: 0: 130: «переключатель»: не найдена соответствующая перегруженная функция (используется неявное преобразование)
ОШИБКА: 0: 131: '{': синтаксическая ошибка синтаксического разбора

12  uniform int pixel_format;   
...
128 vec4 get_rgba_color()                                                               
129 {                                                                                   
130     switch(pixel_format)                                                            
131     {

Есть идеи, что может быть причиной и как обойти это?

1 Ответ

7 голосов
/ 23 ноября 2011

Оператор switch был добавлен в GLSL версии 1.3.

Попробуйте вставить строку "#version 130" в верхней части источника вашего шейдера.

Если это не помогает, то ваш графический процессор не поддерживает его, и вам нужно вместо этого использовать вложенные операторы if.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...