This media is not supported in your browser
VIEW IN TELEGRAM
Наконец дошли руки до Metal и шейдеров
Давно хотел разобраться с тем, что такое шейдеры. А тут ещё и на iOS.
Оказывается концепция простая, но очень мощьная. Если кратко, то шейдер это программа выполняемая на GPU, обрабатывающая пиксель или вершину. Обработка идёт в параллель, поэтому всё происходит так быстро.
Основные функции шейдера:
🔸 покрасить пиксель, зная только цвет текущего пикселя
🔸 изменить положение пикселя
Разбирался по статье: https://blog.jacobstechtavern.com/p/metal-in-swiftui-how-to-write-shaders. Доступно и с качественными примерами👍
Эти примеры сделаны на iOS 17, используя iOS 15, всё выходит сильно сложнее, в плане заставить шейдеры отображаться (в статье не описано). Я попробовал самостоятельно, но у меня не получилось заставить MTKView работать. На 17 всё достаточно просто:
#metal #shader
Давно хотел разобраться с тем, что такое шейдеры. А тут ещё и на iOS.
Оказывается концепция простая, но очень мощьная. Если кратко, то шейдер это программа выполняемая на GPU, обрабатывающая пиксель или вершину. Обработка идёт в параллель, поэтому всё происходит так быстро.
Основные функции шейдера:
Разбирался по статье: https://blog.jacobstechtavern.com/p/metal-in-swiftui-how-to-write-shaders. Доступно и с качественными примерами
Эти примеры сделаны на iOS 17, используя iOS 15, всё выходит сильно сложнее, в плане заставить шейдеры отображаться (в статье не описано). Я попробовал самостоятельно, но у меня не получилось заставить MTKView работать. На 17 всё достаточно просто:
view.colorEffect(
ShaderLibrary.glowEdge(
.float(startDate.timeIntervalSinceNow),
.float2(viewSize)
)
)
#metal #shader
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2