Как из SCNSphere сделать что угодно с помощью Metal. Например, 3D RGB-Cube

Джулс: Знаешь почему так? 
Брэд: Метрическая система?
Джулс: Гляди как наш Бред мозговит!
Смышленый сукин сын, это точно — всё просек.
(из фильма «Криминальное чтиво»)

Дорогие слушатели нашей радиостанции, если вы переодически следите за нашими выпусками, то в целом в курсе наших новейших исследований цвета в нашей высоко-профессиональной любительской лаборатории. И уже имеете представление о том как цвет влияет на общее восприятие изображения. Очень важной фишкой в таких исследованиях являются цветовые пространства, в которых, обычно, можно производить манипуляции с пикселами картинки, системно её «ухудшая». Так удачно сложилось, что почти все такие пространства 3-х компонентные. А это означает, что мы можем попытаться визуализировать то как наши дурные наклонности могут его деформировать относительно исходного состояния в 3D сцену.

В многообразии фреймворков Apple есть очень мощный SDK SceneKit.  Сегодня мы распотрошим сразу двух кроликов: изучим как нам нарисовать произвольную 3D-фигуру с помощью инструментов SceneKit. А так же научимся добавлять очень большое количество дополнительных объектов в 3D-сцену, быстро её  деформировать, модифицировать и манипулировать свойствами всех добавленных объектов с помощью Metal.

Читать далее

Реклама

Самый лучший селективный HSV-adjustment фильтр ever.

Мы не заблудились, мы просто не знаем где мы находимся.
(South Park)

Наверное не будет преувеличением утверждение: каждый фотограф или человек занимающийся фотографией хоть раз в жизни использовал инструмент называющийся «Hue/Saturation» или вроде того. С этим весьма популярным инструментом есть одна интересная история: в природе не существует более-менее адекватной реализации доступной в исходных кодах. Каждый разработчик либо конструирует все самостоятельно, либо использует готовый код из свободного Gimp либо городит безумные конструкции вокруг расширений ImageMagic. Те же, кто знают тайну, попросту жмутся, не делятся исходниками или же выкладывают в сеть что-то вроде пресловутого Gimp. Пробовали с ним работать? Вот то-то и оно.

А давайте уже нарушим эту монополию, сорвем покровы с реализации этого инструмента в виде Metal-апического кода, но не под iOS, а, например, под OSX. Так удобнее крутить параметры слайдерами и видеть изменения в реальном времени. А еще будет удобно рисовать гистограмму и наблюдать как меняется представление картинки в «частотном домене».

Читать далее

Мифическая скорость GPU. Параллелизация расчетов GPU+DSP на A7

Хотя этот блог в большей степени и посвящен личным переживаниям автора связанным с процессингом фотографических изображений, но справедливости ради стоит отметить, что большая часть моей (да и вашей, скорее всего, коли уж вы читаете этот текст) жизни связанна, конечно не с этим приятным время препровождением. Огромное количество бессмысленных затрат полезной энергии, к сожалению, уходит на борьбу с ограничениями, которые на нас накладывают обстоятельства. В моем случае, к счастью, такими обстоятельствами оказываются, всего лишь, предметы материального мира: вычислительные железки, которые в конкретный момент времени я имею в собственном пользовании и могу что-то на них посчитать. Вот посчитали мы дружно в прошлом посте гистограмму

Читать далее

Расчет гистограммы изображения на GPU. Атомарные типы данных Metal и операции над ними

Не далее как месяц назад я описал незатейлевый процесс создания собственной версии фото приложения портящего замечательные цифровые фотографии до приемлемого результата. В качестве основного инструмента обработки (Image Processing) мы использовали гомогенные преобразования цветового пространства через так называемые таблицы поиска или CLUT. Этот замечательный, надежный, супер быстрый и незаменимый способ работает всегда и с возбуждающим успехом. При одном условии: исходная картинка должна быть получена при определенных условиях. А это, как хорошо не известно многим, не достижимое условие, хотя и воспроизводимое с некоторым приближением за неприятный прайс.

Читать далее

Оптимизация шейдеров Apple Metal на примере работы с конвертером цветовых пространств: RGB/HSV.

Баталии в блоге Degradr по поводу эстетики и математики в эстетике и эстетической математики, и еще какого-то другого творчества, которое все несли не стесняясь, разгорелись не шуточные. Хочется немного уйти от гуманитарного и погрузиться в наше любимое: в технодр@черство. Прошу дам меня извинить: сегодня попытаемся выжать из GPU последние капли крови производительности. A по простому — мы будем пытаться оптимизировать код, который, казалось бы и оптимизировать уже невозможно. Но…

Читать далее