Я наконец почти доразобрался с жизненным бардаком, сейчас еще с подлодкой разберусь и после нее планирую возобновить постить что-то интересное, а не только всратые мемы и пауков
❤6🔥3👀1
Прогаем с кенгурой
15 апреля на подлодке буду рассказывать про диагностику (профилирование, отладка, тесты) Metal-а на примере эффектов для SwiftUI. Вообще они не особо диагностируемы напрямую, но вот об этом и поговорим https://podlodka.io/ioscrew
У меня есть два прохода на подлодку. Давайте придумаем как их поделить и поделим.
UPD: поделили
UPD: поделили
🤔5
This media is not supported in your browser
VIEW IN TELEGRAM
Доработал скетчик. Из интересного, я храню в текстуре (в первой строке) массив предыдущих значений с каналов, то есть в нулевой пиксель пишу текущее, а остальные сдвигаю с предыдущего. Так как там пинг-понг текстурами, то никаких конфликтов не возникает.
Да, можно было бы все это делать на цпу (но это надо в кишки оркалота лезть и пересобирать его - на каждый скетч не налазишься) или хранить только одно пересчитанное предыдущее, к которому прибавлять новое с коэффициентом - получилось бы своего рода бегущее окно, но интересно было именно массив передавать между итерациями через текстуру.
Да, можно было бы все это делать на цпу (но это надо в кишки оркалота лезть и пересобирать его - на каждый скетч не налазишься) или хранить только одно пересчитанное предыдущее, к которому прибавлять новое с коэффициентом - получилось бы своего рода бегущее окно, но интересно было именно массив передавать между итерациями через текстуру.
🔥7❤1
Я тут подумал, а почему бы не выложить Оркалот в стор для мака за небольшую деньгу, чтоб в столе не пылился просто так. И выложил - жду когда пройдет ревью. Пока яблоки ответили в стиле мема "Сложна, сложна, непонятно. Можно без этого?". Придется писать им эссе и делать короткий видеобзор.
Ну и в будущем надо будет наделать туториалов - заодно материал для ютуба выдумывать не надо.
PS: Оркалот это вот то, что блымкает в предыдущем посте
Ну и в будущем надо будет наделать туториалов - заодно материал для ютуба выдумывать не надо.
PS: Оркалот это вот то, что блымкает в предыдущем посте
🔥3😁3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшой эксперимент на ночь глядя: сцена крутится в зависимости от положения человека относительно девайса для имитации трехмерности «за окном» экрана.
Хотел проверить, на сколько оно реализуемо высокоуровневыми яблочными средствами. Оказалось, что отлично реализуемо.
Если интересно, могу потом подробнее рассказать.
Хотел проверить, на сколько оно реализуемо высокоуровневыми яблочными средствами. Оказалось, что отлично реализуемо.
Если интересно, могу потом подробнее рассказать.
👍19🔥5👏2💩1
Прогаем с кенгурой
Я тут подумал, а почему бы не выложить Оркалот в стор для мака за небольшую деньгу, чтоб в столе не пылился просто так. И выложил - жду когда пройдет ревью. Пока яблоки ответили в стиле мема "Сложна, сложна, непонятно. Можно без этого?". Придется писать им…
This media is not supported in your browser
VIEW IN TELEGRAM
Не прошло и недели, как яблоки апрувнули
Если хотите бесплатно, могу дать ссылку на TestFlight на потестировать))
Если хотите бесплатно, могу дать ссылку на TestFlight на потестировать))
🔥13
Прогаем с кенгурой
Небольшой эксперимент на ночь глядя: сцена крутится в зависимости от положения человека относительно девайса для имитации трехмерности «за окном» экрана. Хотел проверить, на сколько оно реализуемо высокоуровневыми яблочными средствами. Оказалось, что отлично…
This media is not supported in your browser
VIEW IN TELEGRAM
А вот голый Metal. Тут у нас больше контроля (в том числе над матрицей проекции), потому эффект получается правильнее.
🔥10👍1
Так. У меня еще одна работа теперь 😁 Снова фреймворк для рисования🤣 но теперь больше вектора
❤7👏1🤯1
Forwarded from Hyperadio
Друзья! Вещание hyperadio в тестовом режиме продолжается.
Не забудьте обновить ссылки!
🖥 stream.hyperadio.ru — основная страничка радио
🔈 stream.hyperadio.ru/live — поток в MP3
🔈 stream.hyperadio.ru/live2 — поток в OGG
♥️ donate.stream/nodeus — а здесь можно внести посильную помощь на содержание сервера вещания.
Не забудьте обновить ссылки!
🖥 stream.hyperadio.ru — основная страничка радио
🔈 stream.hyperadio.ru/live — поток в MP3
🔈 stream.hyperadio.ru/live2 — поток в OGG
♥️ donate.stream/nodeus — а здесь можно внести посильную помощь на содержание сервера вещания.
Наконец добрался до разбора долгов: допилил статью про инструменты профилирования метала. Осталась еще пара эпизодов в этой серии: про диагностику ручками без инструментов и про TDD шейдеров.
https://gostrobrod.dev/articles/metal/mtl_s02e08.html
https://gostrobrod.dev/articles/metal/mtl_s02e08.html
George Ostrobrod
08. Metal System Trace | George Ostrobrod Blog
Though GPU frame capture in Xcode provides some performance details, it’s usually not very precise because time values may change from frame to frame due to thermal conditions, other GPU load, and so on. So I recommend using Instruments...
🔥2❤1👀1
Сел писать последний раздел инструментов Метала про ручные приемы, и оказалось, что там выходит материала еще на три статьи. Сезон немного разросся относительно того, что я изначально планировал. Вот какая-то такая будет разбивка по частям:
• Что и как выводить
• Как и куда выводить
• Зачем выводить и для чего
Из плохого (сложного) - придется делать кучу примеров, но постараюсь не сильно закапываться, хотя некоторые примеры/разделы потребуют немного углубится.
Из хорошего - эти приемы в большинстве своем валидны не только для Метала - я их начинал еще с OpenGL использовать, так что целевая аудитория немного шире будет.
Надеюсь, будет полезно. Как только завершу с металом, сделаю пост/серию/видео/статью про гладкий рендеринг (по заявкам), а потом наверное продолжу видеоэффекты, которые пол года назад остановились по какой-то причине
• Что и как выводить
• Как и куда выводить
• Зачем выводить и для чего
Из плохого (сложного) - придется делать кучу примеров, но постараюсь не сильно закапываться, хотя некоторые примеры/разделы потребуют немного углубится.
Из хорошего - эти приемы в большинстве своем валидны не только для Метала - я их начинал еще с OpenGL использовать, так что целевая аудитория немного шире будет.
Надеюсь, будет полезно. Как только завершу с металом, сделаю пост/серию/видео/статью про гладкий рендеринг (по заявкам), а потом наверное продолжу видеоэффекты, которые пол года назад остановились по какой-то причине
🔥11❤4👍4
Пока вот вам статья про быструю математику на свифте и дальше от коллеги с третьей работы
https://www.cocoawithlove.com/blog/matrix-multiplications-swift.html
https://www.cocoawithlove.com/blog/matrix-multiplications-swift.html
👍4🤯3
Итак, первая часть
https://gostrobrod.dev/articles/metal/mtl_s02e09.html
https://gostrobrod.dev/articles/metal/mtl_s02e09.html
George Ostrobrod
09. Manual Diagnostics: pt.1 Value level | George Ostrobrod Blog
There could be cases in your project when GPU Frame Capture may not work (Xcode can crash on it) or may take too much time. And usually you don't have any opportunity to get values from shader code on the CPU side. Actually, you do, beca...
👍4❤2
Наконец я завершил второй сезон Метала. Гештальт закрыт.
https://gostrobrod.dev/articles/metal/mtl_s02e10.html
https://gostrobrod.dev/articles/metal/mtl_s02e10.html
George Ostrobrod
10. Manual Diagnostics: pt.2 Tooling level | George Ostrobrod Blog
This article is now part of a book
🔥9👍3
Этой песне больше 60 лет. Она была написана задолго до рождения киберпанка, интернета и всего вот этого цифрового. Но сейчас в ней больше киберпанка, смысла и актуальности, чем во всем опопсевшем ныне кибер”панке”.
https://youtu.be/6ukmjBSQY-c?si=GsFuWdIcVJHdw0Ln
https://youtu.be/6ukmjBSQY-c?si=GsFuWdIcVJHdw0Ln
YouTube
Simon and Garfunkel - The Sound of Silence (1966)
"The Sound of Silence" is a song by singer-songwriter duo Simon & Garfunkel. Written in February 1964 by Paul Simon in the aftermath of the 1963 assassination of John F. Kennedy, the song propelled the group to mainstream popularity. An initial version preferred…
🔥5👍1
4-manual-msaa.png
849.5 KB
Итак, по заявкам трудящихся расскажу, как рисовать гладкие полигоны и линии (анти-алиасинг)
Самый простой способ антиалиасинга - суперсэмплинг.
Идея суперсэмплинга в том, чтобы посчитать значение в нескольких точках, а потом их схлопнуть в один пиксель.
Самый простой (но не самый экономный) способ - отрисовать в текстуру в два раза больше, а потом обратно в нужный размер с линейной интерполяцией. Будет красота по всей сцене, но вам надо х3 памяти, и x5 пиксельрейт. Не самая экономная штука в общем.
Я буду прикреплять картинку как есть, чтобы можно было поразглядывать
Самый простой способ антиалиасинга - суперсэмплинг.
Идея суперсэмплинга в том, чтобы посчитать значение в нескольких точках, а потом их схлопнуть в один пиксель.
Самый простой (но не самый экономный) способ - отрисовать в текстуру в два раза больше, а потом обратно в нужный размер с линейной интерполяцией. Будет красота по всей сцене, но вам надо х3 памяти, и x5 пиксельрейт. Не самая экономная штука в общем.
Я буду прикреплять картинку как есть, чтобы можно было поразглядывать
👍1