Из спецификации:
Metal определяет функции и типы журналирования в . Чтобы включить ведение журнала, нужно установить -fmetal-enable-logging (см. раздел 1.6.9).
Я сделал простой шейдер с журналом< /p>
Код: Выделить всё
#include
#include
using namespace metal;
[[stitchable]] float2 wave(float2 pos, float t) {
os_log_default.log("SOMELOG");
pos.y += sin(t * 5 + pos.y / 20) * 5;
return pos;
}
Metal версия 3.2
p>
РЕДАКТИРОВАТЬ:
Мое мнение:
Код: Выделить всё
struct ContentView: View {
@State private var start = Date.now
var body: some View {
TimelineView(.animation) { tl in
let time = start.distance(to: tl.date)
Image(systemName: "figure.walk.circle")
.font(.system(size: 100))
.background(.white)
.drawingGroup()
.distortionEffect(
ShaderLibrary.wave(
.float(time)
),
maxSampleOffset: .zero
)
}
}
}
[img]https://i.sstatic. net/ykrQ6Kn0.png[/img]
Подробнее здесь: https://stackoverflow.com/questions/786 ... t-in-metal
Мобильная версия