Comments 31
Желаю удачи! А увидеть скриншоты приложения можно?
А то, что превьюшки фильтров всегда с теткой, а не с активной фотографией — это так в правилах написано, или это вы решили ан заворачиваться?
В правилах :)
Ведь фильтры могут применяться непосредственно во время съемки, а там каждый кадр рендерить в превьюшки, потом накладывать фильтры… ух, даже думать не хочу :)
Ведь фильтры могут применяться непосредственно во время съемки, а там каждый кадр рендерить в превьюшки, потом накладывать фильтры… ух, даже думать не хочу :)
Правила, там, вроде, были менее жёсткие.
Я, например, забил на GPUImage (он толстый, тормозной и проблемный) и написал свой процессор цепочек эффектов с известно кем и чем, который позволил, среди всего прочего, показывать маленькие превьюшки всех доступных эффектов в реальном времени на плавных 30фпс (можно было сделать и все 60, но из самой камеры изображения приходят реже и неустойчивей).
Правда, это хороший пример того, как не надо было делать за два дня до дедлайна :D — когда у меня была готова core-часть с эффектами и захватом, оставался час, и не было уже никакого смысла даже браться за весь остальной гуй и функции.
Я, например, забил на GPUImage (он толстый, тормозной и проблемный) и написал свой процессор цепочек эффектов с известно кем и чем, который позволил, среди всего прочего, показывать маленькие превьюшки всех доступных эффектов в реальном времени на плавных 30фпс (можно было сделать и все 60, но из самой камеры изображения приходят реже и неустойчивей).
Правда, это хороший пример того, как не надо было делать за два дня до дедлайна :D — когда у меня была готова core-часть с эффектами и захватом, оставался час, и не было уже никакого смысла даже браться за весь остальной гуй и функции.
Может выложите куда-нибудь свой код для ознакомления? :)
Пока не знаю. Он (а) так себе чистый, (б) на плюсах с лёгким налётом си-стайла, (в) не шибко интересный — там много всякого сетапа и скукоты, суть тяжело добыть.
Могу, впрочем, поделиться некоторыми идеями:
1) По-максимум объединять шейдеры. Один эффект = один шейдер. Действительно, как вы говорили выше, цепочки эффеков тормозят. 640х480 превью не укладывается в 60фпс уже после трёх звеньев, наступает няшная боттлнека по памяти. Можно вообще написать либо убершейдер со всем и поставлять ему параметры, или написать синтезатор шейдеров. Я, впрочем, этого не делал — проще написать заново/скопипастить матрицы для RGB-YUV. И есть одно исключение — блюр, его надо делать в два этапа, причем тащить координаты сэмплов текстуры из вершинного шейдера как varying, не делая расчетов во фрагментном шейдере.
2) Пул переиспользуемых объектов. Все эффекты на самом деле работают на одном фреймбуфере с двумя пинг-понг текстурами. Самим звеньям-эффектам свои текстуры нафиг не нужны :D.
3) Для превью сразу делать маленькую текстуру с маленьким же фреймбуфером, а потом уже применять эффекты.
Могу, впрочем, поделиться некоторыми идеями:
1) По-максимум объединять шейдеры. Один эффект = один шейдер. Действительно, как вы говорили выше, цепочки эффеков тормозят. 640х480 превью не укладывается в 60фпс уже после трёх звеньев, наступает няшная боттлнека по памяти. Можно вообще написать либо убершейдер со всем и поставлять ему параметры, или написать синтезатор шейдеров. Я, впрочем, этого не делал — проще написать заново/скопипастить матрицы для RGB-YUV. И есть одно исключение — блюр, его надо делать в два этапа, причем тащить координаты сэмплов текстуры из вершинного шейдера как varying, не делая расчетов во фрагментном шейдере.
2) Пул переиспользуемых объектов. Все эффекты на самом деле работают на одном фреймбуфере с двумя пинг-понг текстурами. Самим звеньям-эффектам свои текстуры нафиг не нужны :D.
3) Для превью сразу делать маленькую текстуру с маленьким же фреймбуфером, а потом уже применять эффекты.
Я делал без «тетки»)) Снял сегодня небольшой обзорчик: http://www.youtube.com/watch?v=_reOwO2N-pA
Желаю Вам удачи и победы!
Вы так легко всё описываете, как будто всё настолько просто с iOS программированием, что самому хочется заняться. Спасибо вам.
Спасибо за статью, жду исходники.
А есть в вк группа/страничка/некий представитель, где можно узнавать новости обо всех конкурсах, которые будет проводить вк?
В принципе здесь vk.com/apiclub всегда публикуют новости, но иногда забывают.
Что-то пропустил конкурс. С месседжером была более развернутая рекламная компания. Тут узнал, после окончания сроков.
Ты очень мало пьешь
А почему не стали использовать встроенные в iOS фильтры из Core Image?
Или вот например почти готовый инстаграм
www.cocoacontrols.com/platforms/ios/controls/dlcimagepickercontroller
www.cocoacontrols.com/platforms/ios/controls/dlcimagepickercontroller
А зачем понадобился assetsRange?
Чтобы только несколько крайних фоток грузить?
Чтобы только несколько крайних фоток грузить?
В приложении под iPad не хватает только вычитания фотографий, для 100-процентной подгонки))
Выкладывайте код, пожалуйста, после опубликования результатов, было бы интересно!
Sign up to leave a comment.
Как разработать свой фоторедактор для iOS. Отчет по конкурсу ВКонтакте