01Overview

In 1999 the GeForce 256’s fixed pipeline could only do preset transforms and lighting. In 2001 DirectX 8 introduced programmable vertex and pixel shaders, and OpenGL followed with extensions: developers wrote short programs that ran on thousands of GPU cores. Shader languages — HLSL, GLSL — were born.

Shaders let real-time graphics produce water, skin, volumetric fog and post-processing. In 2006 CUDA opened the same parallelism to general computation. Today shaders are not only a rendering tool but also used for physics simulation, particle systems and neural-network inference. The GPU programming model — many threads, SIMT, an explicit memory hierarchy — has become the general paradigm of parallel computing.

02History

  1. 2001

    Programmable shaders

    GPUs begin to accept general programs.

  2. 2006

    CUDA

    An operating system for general-purpose GPU computing.

  3. 2009

    WebGL

    3D in the browser.

  4. 2018

    Real-time ray tracing in shaders

    Ray tracing combined with rasterised shading.

03Core concepts

Vertex shader

Processes position, normal and texture coordinates per vertex.

Pixel shader

Computes colour per fragment and decides the final image.

SIMT

One instruction drives many threads — suited to data parallelism.

04Hands-on

Do it once — it beats reading it ten times

Write a fragment shader that produces a procedural checkerboard, then add one light and one shadow

05Self-check

Say it in your own words first, then open the answer. Whatever you cannot explain is what to review next.

Can you explain "Vertex shader"?

Processes position, normal and texture coordinates per vertex.

Can you explain "Pixel shader"?

Computes colour per fragment and decides the final image.

Can you explain "SIMT"?

One instruction drives many threads — suited to data parallelism.

What problem did it solve, and why was there nothing better at the time?

Go back to the history section: how was this done before, and what did it cost?

If you had to build it today, how would you break it down?

Use the hands-on task above: write a plan of at most three steps before you start.

06Key people

J

John Carmack

1970 –

Co-founder of id Software; a driving force behind real-time 3D.

D

David Kirk

1960 –

NVIDIA chief scientist; GPU computing architecture.

07Further reading

  • GPU GemsPharr et al. · 2004
  • OpenGL Programming GuideSchreiner et al. · 1999