xref: /third_party/skia/resources/particles/warp.json
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/skia/resources/particles/
1cb93a386Sopenharmony_ci{
2cb93a386Sopenharmony_ci   "MaxCount": 4096,
3cb93a386Sopenharmony_ci   "Drawable": {
4cb93a386Sopenharmony_ci      "Type": "SkCircleDrawable",
5cb93a386Sopenharmony_ci      "Radius": 2
6cb93a386Sopenharmony_ci   },
7cb93a386Sopenharmony_ci   "Code": [
8cb93a386Sopenharmony_ci      "void effectSpawn(inout Effect effect) {",
9cb93a386Sopenharmony_ci      "  effect.rate = 90;",
10cb93a386Sopenharmony_ci      "}",
11cb93a386Sopenharmony_ci      "",
12cb93a386Sopenharmony_ci      "float2 circle(inout float seed) {",
13cb93a386Sopenharmony_ci      "  float r = sqrt(rand(seed));",
14cb93a386Sopenharmony_ci      "  float a = rand(seed) * 6.283185;",
15cb93a386Sopenharmony_ci      "  return r * float2(sin(a), cos(a));",
16cb93a386Sopenharmony_ci      "}",
17cb93a386Sopenharmony_ci      "",
18cb93a386Sopenharmony_ci      "void spawn(inout Particle p) {",
19cb93a386Sopenharmony_ci      "  p.lifetime = 30;",
20cb93a386Sopenharmony_ci      "  p.pos += circle(p.seed) * 40;",
21cb93a386Sopenharmony_ci      "}",
22cb93a386Sopenharmony_ci      "",
23cb93a386Sopenharmony_ci      "void update(inout Particle p) {",
24cb93a386Sopenharmony_ci      "  p.vel += normalize(p.pos - effect.pos) * dt * 10;",
25cb93a386Sopenharmony_ci      "  p.scale = mix(0.25, 3, p.age);",
26cb93a386Sopenharmony_ci      "}",
27cb93a386Sopenharmony_ci      ""
28cb93a386Sopenharmony_ci   ],
29cb93a386Sopenharmony_ci   "Bindings": []
30cb93a386Sopenharmony_ci}

Indexes created Thu Nov 07 10:32:03 CST 2024