Сел писать последний раздел инструментов Метала про ручные приемы, и оказалось, что там выходит материала еще на три статьи. Сезон немного разросся относительно того, что я изначально планировал. Вот какая-то такая будет разбивка по частям:
• Что и как выводить • Как и куда выводить • Зачем выводить и для чего
Из плохого (сложного) - придется делать кучу примеров, но постараюсь не сильно закапываться, хотя некоторые примеры/разделы потребуют немного углубится.
Из хорошего - эти приемы в большинстве своем валидны не только для Метала - я их начинал еще с OpenGL использовать, так что целевая аудитория немного шире будет.
Надеюсь, будет полезно. Как только завершу с металом, сделаю пост/серию/видео/статью про гладкий рендеринг (по заявкам), а потом наверное продолжу видеоэффекты, которые пол года назад остановились по какой-то причине
Наконец добрался до разбора долгов: допилил статью про инструменты профилирования метала. Осталась еще пара эпизодов в этой серии: про диагностику ручками без инструментов и про TDD шейдеров.
Прогаем с кенгуройНебольшой эксперимент на ночь глядя: сцена крутится в зависимости от положения человека относительно девайса для имитации трехмерности «за окном» экрана. Хотел проверить, на сколько оно реализуемо высокоуровневыми яблочными средствами. Оказалось, что отлично…
А вот голый Metal. Тут у нас больше контроля (в том числе над матрицей проекции), потому эффект получается правильнее.
Прогаем с кенгуройЯ тут подумал, а почему бы не выложить Оркалот в стор для мака за небольшую деньгу, чтоб в столе не пылился просто так. И выложил - жду когда пройдет ревью. Пока яблоки ответили в стиле мема "Сложна, сложна, непонятно. Можно без этого?". Придется писать им…
Не прошло и недели, как яблоки апрувнули
Если хотите бесплатно, могу дать ссылку на TestFlight на потестировать))
Небольшой эксперимент на ночь глядя: сцена крутится в зависимости от положения человека относительно девайса для имитации трехмерности «за окном» экрана.
Хотел проверить, на сколько оно реализуемо высокоуровневыми яблочными средствами. Оказалось, что отлично реализуемо.
Я тут подумал, а почему бы не выложить Оркалот в стор для мака за небольшую деньгу, чтоб в столе не пылился просто так. И выложил - жду когда пройдет ревью. Пока яблоки ответили в стиле мема "Сложна, сложна, непонятно. Можно без этого?". Придется писать им эссе и делать короткий видеобзор.
Ну и в будущем надо будет наделать туториалов - заодно материал для ютуба выдумывать не надо.
PS: Оркалот это вот то, что блымкает в предыдущем посте
Доработал скетчик. Из интересного, я храню в текстуре (в первой строке) массив предыдущих значений с каналов, то есть в нулевой пиксель пишу текущее, а остальные сдвигаю с предыдущего. Так как там пинг-понг текстурами, то никаких конфликтов не возникает.
Да, можно было бы все это делать на цпу (но это надо в кишки оркалота лезть и пересобирать его - на каждый скетч не налазишься) или хранить только одно пересчитанное предыдущее, к которому прибавлять новое с коэффициентом - получилось бы своего рода бегущее окно, но интересно было именно массив передавать между итерациями через текстуру.
Прогаем с кенгурой15 апреля на подлодке буду рассказывать про диагностику (профилирование, отладка, тесты) Metal-а на примере эффектов для SwiftUI. Вообще они не особо диагностируемы напрямую, но вот об этом и поговорим https://podlodka.io/ioscrew
У меня есть два прохода на подлодку. Давайте придумаем как их поделить и поделим.
Я наконец почти доразобрался с жизненным бардаком, сейчас еще с подлодкой разберусь и после нее планирую возобновить постить что-то интересное, а не только всратые мемы и пауков