Компьютерная графика

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



GLSL Error

Сообщений 1 страница 7 из 7

1

Доброго времени суток!
Понадобилось собрать вот такой шейдер:

Код:
const GLcharARB *final_fp = 

"#extension GL_ARB_texture_rectangle : enable	"
"uniform sampler2DRect color;"
"uniform sampler2DRect normal;"

"void main(){"

"vec3 t1 = texture2DRect(color,gl_TexCoord[0].st).rgb;"
"vec3 t2 = texture2DRect(normal,gl_TexCoord[0].st).rgb;"

"gl_FragColor = vec4(t2, 1.0);}";

И вот ведь ругается нехорошо так:

Код:
Shaders log -> 0(1) : error C0105: Syntax error in #extension
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
(0) : error C0501: type name expected at token "<invalid atom -1>"
FP compiled -> 0.
Shaders load error

И ругается он на строчку с #extension

Я, в общем, во все шедера так строку заливаю, все работает... такая бяка впервые... %((
Никто не сталкивался? Может чем лечится?
Спасибо.

з.ы. Да, карта 8800gt, дрова 182.08, ХР

Отредактировано Андрей (2009-03-23 17:06:53)

0

2

А не надо ли добваить \n в конце строк, а то иначе получсается одна большая строка
Похоже, что компилер считает, что все остальное тоже относиься к #extension

0

3

мда...
должен пиво. нет, два.
я ведь что только не пробовал в качестве терминатора... а такую простую вещь - забыл %( позор на мою деревянную голову.
Вставил  \n в конце строки с #extension и все получилось.
Интересно, что в спецификации к языку написано, что подобная строка должна либо быть отдельной (т.е. завершаться терминатором) либо завершаться пробелом или символом табуляции %))))
СПАСИБО!

0

4

И вот благодаря помощи старших товарищей, родился эдакий фейковый вариант SSAO %))
Нездоровые ступеньки - это я глубину в 8 бит конвертнул... и забыл...
А! Силует - это я не проверяю фоновые пиксели.

Отредактировано Андрей (2009-03-28 01:56:24)

0

5

Вот... ввел проверку на бэкгрунд.
Не айс пока конечно... но мозг сегодня больше не хочет работать.

Отредактировано Андрей (2009-03-28 02:21:46)

0

6

Хорошо получилось, поздравляю

0

7

Спасибо.
И в продолжение скриншота вопрос:
Есть массив 16х16 пикселей, собственно маска по которой и реализуется SSAO.
Эта маска сейчас всегда параллельна экрану.
В результате имеем неприятный артефакт.
Мне надо её смещать (наклонять) в зависимости от нормали обрабатываемого фрагмента.
бинормали и тангента нет (и желательно чтоб не было).
Это вообще реализуемо? Ну... в разумной математике?

Отредактировано Андрей (2009-03-29 01:08:37)

0



создать форум