Getting Started with Particle Shaders
Provide custom shader code to alter a particle’s look.
Overview
Use the shader property of an emitter node to change the appearance of a texture with a custom OpenGL ES fragment shader embedded within an SKShader. Custom shaders offer almost limitless possibilities, from adding blurs and color treatments to textures, to generating imagery such as random noise.
The following code shows a custom shader that renders particles with a radial gradient. The center of each particle is opaque white and the edges are transparent black.
let emitter = SKEmitterNode()
let radialGradientShader = SKShader(source: "void main() {" +
" vec2 coord = (v_tex_coord - 0.5) * 2.0;" +
" gl_FragColor = vec4(1.0 - length(coord));" +
"}")
emitter.shader = radialGradientShader