Russian Qt Forum
Ноябрь 23, 2024, 14:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: GLES requires precision specifier on float types  (Прочитано 2624 раз)
Disa
Гость
« : Апрель 21, 2013, 01:21 »

У знакомого на нетбуке возникла проблема. Версия OpenGL - GLES. При компиляции шейдера (фрагментного), выдает:

Код:
error C7573: OpenGL/ES requires precision specifier on float types

Вот, например, тестовый:
Код
glSlang
#version 100
 
uniform vec4 color;
 
void main(void) {
 gl_FragColor = color;
}

Поменял uniform vec4 color на  uniform mediump vec4 color, результат точно такой же. Я до этого с GLES особо дела не имел. Если я правильно понял, компилятор хочет чтоб я указывал точность типа float, но почему он это снова хочет после указания я не понимаю. Или я не правильно использую синтаксис?

За ранее благодарен.
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #1 : Апрель 21, 2013, 06:50 »

добавь в начало шейдера строку
Код
precision mediump float;
 
« Последнее редактирование: Апрель 21, 2013, 06:52 от alex312 » Записан
Disa
Гость
« Ответ #2 : Апрель 21, 2013, 23:40 »

Забыл сказать, что так тоже пробовал. Компилятор выдает дополнительно еще ошибку:
Код:
0(6) : error C0000: syntax error, unexpected reserved word "float", expecting reserved word "highp" or reserved word "lowp" or reserved word "mediump" or reserved word "superp" at token "float"

Шейдер вот такой:
Код
glSlang
#version 100
 
precision mediump float;
 
uniform vec4 color;
 
void main(void) {
 gl_FragColor = color;
}

и если писать uniform mediump  vec4 color те же ошибки.

PS: Если менять на #version 130, и убрать все deprecated объявления, то все работает. Но нужна именно #version 100.
« Последнее редактирование: Апрель 21, 2013, 23:47 от Disa » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.232 секунд. Запросов: 24.