WarpShader

WarpShader 作为一个 SwiftUI 视图修饰符,可以实现超光速的快速 SwiftUI 视觉效果。

Image of a macOS app of a colorful star field

安装

通过 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 目标然后 ‘运行’。

在扭曲参数之间进行动画处理会产生许多有趣的结果,这些结果可能看起来很熟悉。