Форум

Фильтры canvas

16 октября 2016 15:50 #12758
Всем доброго времени суток! Вопрос к знатокам:) т.к. в итоге мы выводим картинку в canvas страницы, возможно ли посредством js применить к изображению фильтры как к изображению в примере?

Пример
17 октября 2016 12:19 #12765
Всем доброго времени суток!
Доброго!

Вопрос к знатокам:) т.к. в итоге мы выводим картинку в canvas страницы, возможно ли посредством js применить к изображению фильтры как к изображению в примере?
На том же канвасе так не получится, т.к для него уже инициализирован webgl-контекст, а в примере используется просто 2d-контекст - это разные объекты с разными методами. Можно инициализировать только один из них, и, если у нас это webgl, то методы из примера будут уже не доступны.

Можно попробовать копировать данные из этого канваса в другой с 2d-контекстом через метод toDataURL(), и на нем уже применять фильтры, но, если делать это каждый кадр, то фпс будет чудовищно низкий.
По-хорошему для webgl все такие фильтры нужно делать на шейдерах.
Команда Blend4Web
17 октября 2016 13:13 #12772
Спасибо за ответ. По поводу шейдеров, может есть где-нибудь простой урок по их созданию применительно к blend4web? Я никогда не сталкивался с подобным, но хотелось бы использовать некоторые распространенные фильтры.
17 октября 2016 15:05 #12781
Уроков нет, я имел ввиду что у нас в планах поддержать фильтры в будущем, возможно, ноды композитинга.
Команда Blend4Web
17 октября 2016 15:43 #12782
возможно, ноды композитинга.
О это было бы вообще круто. Дизайнеры будут рады.
18 октября 2016 04:43 #12802
Ноды композитинга, это конечно круто, но я подозреваю дико заморочно) А вот наличие шейдеров фильтров как в скетчфабе или мармозет, было бы очень круто. Порой стоит слегка поиграть значениями и картинка преображается на глазах. Насколько я могу судить это еще и довольно просто в реализации, хотя не исключаю, что могу ошибаться.
18 октября 2016 04:44 #12803
тот же шарп, например вещь незаменимая
18 октября 2016 15:16 #12815
присоединюсь к вопросу, т.к. видимо меня он тоже касается :
мне нужно сделать так, чтобы по установке флага из API JS
Следующий кадр рендера стал в градациях серого(ч.б)
и конечно вернуть все обратно после смены флага.

верно я понял, что это из той же оперы и пока нет средств это реализовать?
т.к. я пробовал запускать отладку канваса из ФФ но там пустые кадры показывает т.к. думаю что ждет 2Д канвас оно (
Денис
18 октября 2016 15:57 #12816
В blend4web есть шейдер цветокоррекции и там есть параметр насыщенности (он-то как раз реализован). Я думаю нужно копать в эту сторону.
18 октября 2016 17:42 #12817
Ответ на сообщение пользователя AngryArcticFox
В blend4web есть шейдер цветокоррекции и там есть параметр насыщенности (он-то как раз реализован). Я думаю нужно копать в эту сторону.

Это в нодах? или где?
Было бы идеально в АПИ камеры иметь возможность выставить например Ч.Б камера(Non-color) итд
Денис
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.