---
title: Getting Started with Particle Shaders
framework: spritekit
role: article
role_heading: Article
path: spritekit/getting-started-with-particle-shaders
---

# Getting Started with Particle Shaders

Provide custom shader code to alter a particle’s look.

## Overview

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

## See Also

### Taking Full Control of Particle Drawing with a Shader

- [shader](spritekit/skemitternode/shader.md)
- [attributeValues](spritekit/skemitternode/attributevalues.md)
- [setValue(_:forAttribute:)](spritekit/skemitternode/setvalue(_:forattribute:).md)
- [value(forAttributeNamed:)](spritekit/skemitternode/value(forattributenamed:).md)
