Есть ли у кого какой примерчик? по ходу нужны переменные атрибутов их имена...
Как я понял, мне нужно брать какие-то атрибуты, а не как я использую, в режиме OpenGL!
ЗАЧЕМ?
Мне glsl понадобился только два раза и оба раза я тестил уникальные экстеншоны на каких-то девайсах (экстеншоны можно подрубать в glsl шойдерах):
- экстеншон EXT_shader_framebuffer_fetch на поварах. В итоге завелось только на тегре2 и благополучно было отправлено на помойку.
- для изменения gl_PointCoord в point-меше. Работает тоже не везде
Рекомендую все-таки упороться нейтивным языком написания шойдеров в юнити. Для него умными дядьками написан умный конвертор-оптимизатор, который, зачастую, выдает код оптимальнее "ручного" glsl. Плюс туда еще зашиты юнитековские финты ушами под конкретные платформы и даже конкретных вендоров, их корявые дрова и баги.
Belfegnar
> Мне glsl понадобился только два раза и оба раза я тестил уникальные экстеншоны
> на каких-то девайсах (экстеншоны можно подрубать в glsl шойдерах):
> - экстеншон EXT_shader_framebuffer_fetch на поварах. В итоге завелось только на
> тегре2 и благополучно было отправлено на помойку.
> - для изменения gl_PointCoord в point-меше. Работает тоже не везде
> Рекомендую все-таки упороться нейтивным языком написания шойдеров в юнити. Для
> него умными дядьками написан умный конвертор-оптимизатор, который, зачастую,
> выдает код оптимальнее "ручного" glsl. Плюс туда еще зашиты юнитековские финты
> ушами под конкретные платформы и даже конкретных вендоров, их корявые дрова и
> баги.
- мне нужно ручное писание, а редакторы все в мире говно! все еще говно... почему?
А потому что пишешь пару букв и кнтр+пробел и выбираешь то что нужно мгновенно!! Когда клацаешь мышью все в СОТНИ если даже не в 1000 раз медленее...
и пока напишешь и все потеряешь интрес)))))))
п.с. было бы не плохо, создать вместо юнити свой Редактор, который бы переводил любой код в визуальную среду и наоборот! вот тогда я был бы доволен икаждый был бы доволен.
> ЗАЧЕМ?
нужно писать игры под сайты на яве... потому использую GLSL GLES используя те же шейдеры, так как CG и т.п. шедйеры стандарта Юнити не поддерживают сайты))
было бы круче если бы создали спец.браузер)) поддерживающий все виды шейдеров... а то опять же говно говно... везде все меня как и всех нас, все это го* не устраивает!
nano
> - мне нужно ручное писание, а редакторы все в мире говно! все еще говно...
Там такие оптимизации вплоть до того, что на мобилках сначала идут выборки из текстуры, потом арифметика. Так быстрее получается на некоторых мобильных железках. Порядок операций и т.д. На других платформах - по другому. Ну и обход всяких багов в дровах. О которых ты даже еще и не знаешь, возможно. Хочешь пописать glsl чтобы пописать glsl, может лучше тогда вообще свой движок юзать?
nano
> нужно писать игры под сайты на яве... потому использую GLSL GLES используя те
> же шейдеры, так как CG и т.п. шедйеры стандарта Юнити не поддерживают сайты))
> было бы круче если бы создали спец.браузер)) поддерживающий все виды
> шейдеров... а то опять же говно говно... везде все меня как и всех нас, все это
> го* не устраивает!
Поясни за юнити в заголовке тогда. Смысл ускользает от меня, хотя по твоему настрою чувствую, что где-то он есть. Так или иначе, смотри по ссылкам, которые я дал))
>Как правильно писать ... GLSL ... именно под Android?
ничем не отличается от "именно под Windows", и от "именно под Linux", и от "именно под Mac"
>Как я понял, мне нужно брать какие-то атрибуты, а не как я использую, в режиме OpenGL!
http://google.ru и http://ya.ru для кого придумали?
https://en.wikibooks.org/wiki/GLSL_Programming/Unity -> минимальный шейдер https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Minimal_Shader
nano
Думаю тебе не помешает посмотреть.
FireFenix
> > ак правильно писать ... GLSL ... именно под Android?
> ничем не отличается от "именно под Windows", и от "именно под Linux", и от
> "именно под Mac"
> > ак я понял, мне нужно брать какие-то атрибуты, а не как я использую, в режиме
> > OpenGL!
> http://google.ru и http://ya.ru для кого придумали?
>
> https://en.wikibooks.org/wiki/GLSL_Programming/Unity -> минимальный шейдер
> https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Minimal_Shader
Думаешь я такое ленивый? я уже месяц все перечитываю)))) все это уже перерыл там нет того, что мне нужно под Андроиды чисто не пашет все это!!)))
я кое что все же нашел...
http://answers.unity3d.com/questions/1110684/need-help-with-shade… nswer-1110717
Но эту ссылку еще не прошел практику, но ОЧЕ видно уже, что атрибуты совершенно разные!! странно, чтон е компилирует GLSL юнити автоматом под GLES?! оч странно...
Executor
В видео только о CG. Мне же нужен только GLSL
nano
> Мне же нужен только GLSL
Ты пишешь шейдера на Cg, Unity сам преобразует в GLSL. То что ты можешь в Unity писать на GLSL это опция, ты можешь ей не пользоваться.
Или ты целенаправлено хочешь именно в GLSL писать?
Executor
> nano
> > Мне же нужен только GLSL
> Ты пишешь шейдера на Cg, Unity сам преобразует в GLSL. То что ты можешь в Unity
> писать на GLSL это опция, ты можешь ей не пользоваться.
> Или ты целенаправлено хочешь именно в GLSL писать?
- Цель писать один шейдер под Андроиды и HTML-5 на который будет разработана игровая соц.сеть... мне нужна максимальная интеграция.
Я не видел, что бы юнити компилировало в код GLSL! это помоему скрывается, если не ошибаюсь... мне нужен был бы код этот для HTML-5
И да от части принципиально узнать все о GL
Изучить и передалть на чистый CG, было бы проще... но есть еще задачи и моя упертость))))
так я кое что начал вычислять методом перебора и исключения))))
первое!
vec2 pos = vec2(gl_FragCoord.x, gl_FragCoord.y)/500;// gl_FragCoord.xy/500 - это на андроиде не работает!
оказывается нужно плавающее чисто))) 500.0!
капец везде работает и без этого, а на мобилах вот такая беда))))
Второе!
// /*нельзя так коментирвать//*/ - в юнити перестает воспринимать код и не включает шейдер! Если в этой строке нет в начала "//"
- нельзя оставлять ЭТО "*/" без его начинания "/*", иначе мобилочка ругается))
ну вот и осталось последнее.... почему-то таймер смещает синусоиду?! И рвет изображение ее?!
через время вместо плавных синусоид, летящие штрихи идут капец)))
вот исходник первого рабочего Шейдера на GLSL, работающий под GL ES(правда не проверял версию 2 или 3ю на какой работае или на какой нет):
Осталось разобраться с глюком на мобиле, почему синусоиды со Временем, начинают рваться и прерываться?!!!!
Заметил этот глюк давно... и что-то со временем...
п.с. опять придется старинным методом исключения перебирать все это капец)
вот здесь полно примерчиков под юнити на GLSL
https://en.wikibooks.org/w/index.php?title=Special:Search&lim… ng%2FUnity%2F
nano
Ну а лог посмотреть никак? Там же все ошибки должны быть.
> vec2 pos = vec2(gl_FragCoord.x, gl_FragCoord.y)/500;// gl_FragCoord.xy/500 -
> это на андроиде не работает!
Это не работает не только на Андроиде, но и на более старом ОпенГЛ.
> // /*нельзя так коментирвать//*/ - в юнити перестает воспринимать код и не
> включает шейдер! Если в этой строке нет в начала "//"
А ещё драйвер может не воспринимать русские комментарии.
Executor
> nano
> Ну а лог посмотреть никак? Там же все ошибки должны быть.
слушай слушай.... интерсно говоришь.... но я проверяю еще все...
как можно посмотреть то лог? у меня не показывает в консоле чаще ничего, то потом заглючит и оптяь покзывает?!
фигня какаято твориться....
а слогом, не знаю где его смотреть и как? можешь объяснить...а то еще тут космический шедер не активируется никак( ща методом исключения кода бду проверять еще и юнити стало вылеттаь хз почему?! за комнметариев что ли?!
Вот: https://en.wikibooks.org/wiki/GLSL_Programming/Unity
Не за что =)
Тема в архиве.