xref: /third_party/skia/resources/particles/curves.json
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/skia/resources/particles/
1cb93a386Sopenharmony_ci{
2cb93a386Sopenharmony_ci   "MaxCount": 1000,
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 = 200;",
10cb93a386Sopenharmony_ci      "  effect.color = float4(1, 0, 0, 1);",
11cb93a386Sopenharmony_ci      "}",
12cb93a386Sopenharmony_ci      "",
13cb93a386Sopenharmony_ci      "void spawn(inout Particle p) {",
14cb93a386Sopenharmony_ci      "  p.lifetime = 3 + rand(p.seed);",
15cb93a386Sopenharmony_ci      "  p.vel.y = -50;",
16cb93a386Sopenharmony_ci      "}",
17cb93a386Sopenharmony_ci      "",
18cb93a386Sopenharmony_ci      "void update(inout Particle p) {",
19cb93a386Sopenharmony_ci      "  float w = mix(15, 3, p.age);",
20cb93a386Sopenharmony_ci      "  p.pos.x = sin(radians(p.age * 320)) * mix(25, 10, p.age) + mix(-w, w, rand(p.seed));",
21cb93a386Sopenharmony_ci      "  if (rand(p.seed) < 0.5) { p.pos.x = -p.pos.x; }",
22cb93a386Sopenharmony_ci      "",
23cb93a386Sopenharmony_ci      "  p.color.g = (mix(75, 220, p.age) + mix(-30, 30, rand(p.seed))) / 255;",
24cb93a386Sopenharmony_ci      "}",
25cb93a386Sopenharmony_ci      ""
26cb93a386Sopenharmony_ci   ],
27cb93a386Sopenharmony_ci   "Bindings": []
28cb93a386Sopenharmony_ci}

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