Texturing & materials · Intermediate

Shader

The small program that decides the final color of every point on a surface

What is a shader?

A shader is a small program that works out the color of each point on a 3D surface by combining its material inputs with the lights in the scene. Shaders decide whether something looks like metal, skin, glass or a cartoon. They run on the graphics card, many times per frame.

Think of it like this

A shader is like a rulebook handed to a painter: given the paint colors and where the lamp stands, it says exactly how to paint each spot.

Where it fits in a 3D project

  1. Create
  2. Surface
  3. Rig
  4. Animate
  5. Render
  6. Export

Surface: Giving the shape its color and material: UVs, textures and shaders.

How a shader works

  1. 01The renderer sends the shader each point’s position, direction and material inputs.
  2. 02The shader checks the lights and how the surface faces them.
  3. 03It combines color, roughness, reflections and other inputs using its rules.
  4. 04It outputs a final color for that pixel on screen.

Shader vs material

PropertyShaderMaterial
What it isA program with rules for lightSettings and textures fed into it
Made byProgrammers or node setupsArtists choosing values
How manyA few, shared widelyMany, one per surface look

Pick a shader for the kind of surface, then make materials from it for each specific look.

Where a shader is used

  • Realistic PBR surfaces in games and film
  • Toon and cel-shaded looks for stylized art
  • Effects like water ripples, holograms and dissolves

Beginner tip

You rarely need shader code to start. Node editors in Blender, Unity and Unreal Engine let you build shaders by wiring boxes together and see the result as you go.

Shader FAQ

What does a shader do?
It calculates what color each point on screen should be. It takes the surface’s material inputs, the lights and the camera angle, and follows its rules to produce the final shade.
Vertex shader vs fragment shader: what is the difference?
A vertex shader runs once per vertex and places the mesh on screen, and can bend or move it. A fragment shader, also called a pixel shader, runs per pixel and decides its final color.
Do I need to learn shader code?
Not at first. Most 3D apps include ready-made shaders and visual node editors. Code helps later, for custom effects or for squeezing out performance in a game.

Updated October 29, 2026 · Browse all 3D terms