WarpShader 作为一个 SwiftUI 视图修饰符,可以实现超光速的快速 SwiftUI 视觉效果。
通过 Xcode > 文件 > 添加包依赖项… 并选择此仓库,或者直接在使用 Swift Package 文件时将此包添加到依赖项列表中,来添加 WarpShader 作为包依赖项。
SwiftUI 的使用示例在 ContentView.swift 中。
将 .warp() 视图修饰符应用于任何视图。
本代码基于 “Hazel Quantock” / “TekF” 的以下代码:https://www.shadertoy.com/view/Xdl3D2
该修饰符具有许多可以自定义的属性。
Rectangle()
.warp(
starScale: starScale, // relative star size. Things get chonky around 3.5 or so
speed: speed, // zippy zoom!
fov: fov, // lower values show a wider view
bifrost: bifrost, // By Thor’s beard: higher values increase the red-blue separation of stars
tails: tails, // higher values turn stars into longer lines
starFieldOffset: starFieldOffset // changes the point of origin of stars
)
我强烈建议构建包含的应用程序 WarpShaderExample,点击 “Controls” 按钮,并找到您觉得最满意的数值。 要从这个仓库构建应用程序,选择 WarpShaderExample 目标然后 ‘运行’。
在扭曲参数之间进行动画处理会产生许多有趣的结果,这些结果可能看起来很熟悉。