• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2   "MaxCount": 32,
3   "Duration": 1,
4   "Rate": 0.5,
5   "Drawable": {
6      "Type": "SkImageDrawable",
7      "Path": "resources/images/baby_tux.png",
8      "Columns": 1,
9      "Rows": 1
10   },
11   "Code": [
12      "// float rand; Every read returns a random float [0 .. 1)",
13      "layout(ctype=float) in uniform float dt;",
14      "layout(ctype=float) in uniform float effectAge;",
15      "",
16      "struct Particle {",
17      "  float  age;",
18      "  float  lifetime;",
19      "  float2 pos;",
20      "  float2 dir;",
21      "  float  scale;",
22      "  float2 vel;",
23      "  float  spin;",
24      "  float4 color;",
25      "  float  frame;",
26      "};",
27      "",
28      "void spawn(inout Particle p) {",
29      "  p.lifetime = 20;",
30      "  float a = radians(10 + 60 * rand);",
31      "  float s = 140 + rand * 60;",
32      "  p.vel.x = cos(a) * s;",
33      "  p.vel.y = -sin(a) * s;",
34      "}",
35      "",
36      "void update(inout Particle p) {",
37      "  p.vel.y += 50 * dt;",
38      "  p.dir = normalize(p.vel);",
39      "}",
40      ""
41   ],
42   "Bindings": []
43}