skia2/resources/particles
Brian Osman 9a8b846baf Particles: Sub-effect spawning and some slight refactoring
* Added a new binding type, SkEffectBinding. This stores another
  entire effect params structure (so the JSON is just nested).
  The name is a callable value that spawns a new instance of
  that effect, inheriting the parameters of the spawning effect
  or particle (depending on which kind of script made the call).
* Broke up the monolithic update function into some helpers,
  got some code reuse with the script calling logic.
* Unlike particle capacity, there is no upper limit on child
  effects (yet), so it's easy to trigger runaway memory and
  CPU consumption. Be careful.
* Added death scripts to effects and particles, which are a
  common place to want to spawn sub-effects. Like spawn,
  these run on each loop, but for one-shots they play at the
  end. Even with loops, this is helpful for timing sub-effects
  (see fireworks2.json).
* Finally, added a much more comprehensive example effect,
  raincloud.json. This includes a total of three effects, to
  generate a cloud, raindrops, and splashes when those drops
  hit "the ground".

Change-Id: I3d7b72bcbb684642cd9723518b67ab1c7d7a538a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/242479
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-19 15:18:13 +00:00
..
default.json Particle effect scripting update 2019-09-16 17:48:04 +00:00
explosion.json Particle effect scripting update 2019-09-16 17:48:04 +00:00
fireworks2.json Particles: Sub-effect spawning and some slight refactoring 2019-09-19 15:18:13 +00:00
fireworks.json Particle effect scripting update 2019-09-16 17:48:04 +00:00
interp.json Particle effect scripting update 2019-09-16 17:48:04 +00:00
penguin_cannon.json Particle effect scripting update 2019-09-16 17:48:04 +00:00
pulse.json Particle effect scripting update 2019-09-16 17:48:04 +00:00
raincloud.json Particles: Sub-effect spawning and some slight refactoring 2019-09-19 15:18:13 +00:00
snowfall.json Particle effect scripting update 2019-09-16 17:48:04 +00:00
spiral.json Particle effect scripting update 2019-09-16 17:48:04 +00:00
swirl.json Particle effect scripting update 2019-09-16 17:48:04 +00:00
warp.json Particle effect scripting update 2019-09-16 17:48:04 +00:00