Full-size demo gallery

Every example at full size, linked from the example catalog's preview thumbnails. All 119 are here.

117 are animated GIFs. Two are still frames: rectangle-advanced and rlgl-triangle draw something fixed and only move when you drive them, so a recording of either would be a valid animation of one repeated image. A still is the honest form for those two.

games (10)

asteroids

the classic vector shooter (rotate/thrust/fire)

asteroids

tetris

the block-stacking puzzle (move/rotate/drop)

tetris

pong

two-paddle classic, you (W/S) vs a CPU

pong

vampire-survivors

auto-fire survival: move, waves chase you

vampire-survivors

snake

the classic snake (arrow keys, grow, don't crash)

snake

breakout

paddle + ball + brick grid (mouse paddle)

breakout

space-invaders

marching aliens (arrows + SPACE to shoot)

space-invaders

flappy-bird

flap through the pipe gaps (SPACE)

flappy-bird

game-2048

2048: 4x4 tile-merge puzzle (arrow keys)

game-2048

minesweeper

reveal/flag grid (mouse L reveal, R flag)

minesweeper

core (23)

basic-window

the minimal raylib window + text

basic-window

input-keys

steer a ball with the arrow keys

input-keys

input-mouse

a ball follows the mouse; click to recolor

input-mouse

input-mouse-wheel

scroll a box with the mouse wheel

input-mouse-wheel

camera-2d

a 2D camera over a skyline (struct-by-value)

camera-2d

delta-time

per-frame vs delta-time movement

delta-time

scissor-test

a scissor rectangle clips a grid

scissor-test

basic-screen-manager

a LOGO/TITLE/GAMEPLAY/ENDING flow

basic-screen-manager

random-values

a new random value every two seconds

random-values

window-letterbox

a fixed picture letterboxed into the window

window-letterbox

window-flags

toggle vsync/resizable/topmost live

window-flags

monitor-detector

every attached display, current one lit

monitor-detector

clipboard-text

type, C copies, V pastes

clipboard-text

input-gamepad

sticks, triggers and buttons for pad 0

input-gamepad

input-multitouch

touch points (the mouse is point 0)

input-multitouch

input-virtual-controls

an on-screen D-pad and action button

input-virtual-controls

undo-redo

a bounded history, CTRL-Z and CTRL-Y walking it

undo-redo

window-should-close

SetExitKey so a close request can be answered

window-should-close

input-gestures

GetGestureDetected, named as they happen

input-gestures

random-sequence

a shuffled sequence, each height used once

random-sequence

camera-2d-mouse-zoom

zoom pinned to the point under the cursor

camera-2d-mouse-zoom

storage-values

values that survive a restart, via a file

storage-values

camera-2d-platformer

five ways a camera can follow a jumping player

camera-2d-platformer

shapes (42)

bouncing-ball

a ball bouncing around the window

bouncing-ball

basic-shapes

shape primitives + an rlgl triangle

basic-shapes

colors-palette

every named raylib color in a grid

colors-palette

gradient

a vertical two-color gradient

gradient

following-eyes

two eyes track the mouse

following-eyes

starfield

a twinkling starfield

starfield

logo-raylib

the raylib logo from rectangles + text

logo-raylib

mouse-trail

a fading trail follows the cursor

mouse-trail

recursive-tree

a binary fractal tree

recursive-tree

math-sine-cosine

a live unit-circle trig visualization

math-sine-cosine

bullet-hell

a rotating bullet spiral

bullet-hell

triangle-strip

a rainbow strip via rlgl immediate mode

triangle-strip

collision-area

AABB collision between two boxes

collision-area

dashed-line

a dashed line follows the mouse

dashed-line

double-pendulum

chaotic double-pendulum motion + trail

double-pendulum

kaleidoscope

strokes mirrored with 6-fold symmetry

kaleidoscope

hilbert-curve

a rainbow Hilbert space-filling curve

hilbert-curve

math-angle-rotation

fixed spokes + a spinning line

math-angle-rotation

ball-physics

2D balls under gravity, SPACE respawns

ball-physics

lines-bezier

a cubic Bézier that follows the mouse

lines-bezier

color-wheel

an HSV color wheel (rlgl triangle fan)

color-wheel

pie-chart

labelled pie slices via rl/sector!

pie-chart

splines

Catmull-Rom / Bezier / B-spline (SPACE cycles)

splines

vector-angle

the angle between two vectors (arc + readout)

vector-angle

easings

a grid of balls, each on a different easing curve

easings

penrose-tiling

a P3 Penrose rhombus tiling (deflation)

penrose-tiling

analog-clock

a live analog clock (libc local time)

analog-clock

digital-clock

a seven-segment HH:MM:SS clock (libc time)

digital-clock

ring-drawing

an animated annulus via rl/ring!

ring-drawing

rounded-rectangle

rounded rects via sector! corners

rounded-rectangle

rectangle-scaling

drag the corner handle to resize a rect

rectangle-scaling

lines-drawing

a rotating fan of thick lines (line-ex!)

lines-drawing

ellipse-collision

two ellipses reddening when they overlap

ellipse-collision

rlgl-triangle

per-vertex colour interpolated across a face

rlgl-triangle

rlgl-color-wheel

a hue wheel as a triangle fan

rlgl-color-wheel

circle-sector-drawing

a sector starved of segments

circle-sector-drawing

easings-rectangles

size and rotation on one easing curve

easings-rectangles

easings-ball

slide, swell and fade, one curve each

easings-ball

easings-box

drop, flatten, spin, grow, fade: five curves

easings-box

logo-anim

the raylib logo assembling itself, unsmoothed

logo-anim

rectangle-advanced

per-side roundness with a horizontal gradient

rectangle-advanced

easings-testbed

one curve at a time, plotted and run

easings-testbed

text (5)

font-sizes

font sizes + MeasureText centering

font-sizes

writing-anim

a message types itself out

writing-anim

format-text

padded score + MM:SS timer readouts

format-text

words-alignment

align a word inside a box (MeasureText)

words-alignment

input-box

type into a text box (GetCharPressed)

input-box

3d (16)

camera-3d

an orbiting 3D camera (Camera3D by value)

camera-3d

waving-cubes

an NxN grid of cubes rippling in 3D

waving-cubes

camera-3d-first-person

walk a yard of columns in first person

camera-3d-first-person

tesseract-view

a rotating 4D hypercube projected to 2D

tesseract-view

wireframe-shapes

pyramid/octahedron/torus/helix in 3D lines

wireframe-shapes

rlgl-solar-system

Sun/Earth/Moon via the rlgl matrix stack

rlgl-solar-system

box-collisions

a player cube colliding with 3D boxes

box-collisions

rotating-cube

a single cube spinning via the rlgl matrix stack

rotating-cube

spinning-cubes

a row of cubes each spinning with a phase offset

spinning-cubes

orthographic-projection

perspective vs orthographic (SPACE toggles)

orthographic-projection

point-cloud

~1500 points as tiny rlgl cubes, rotating

point-cloud

bouncing-spheres

spheres bouncing in a 3D box (rl/sphere!)

bouncing-spheres

lorenz-attractor

the Lorenz attractor traced in 3D

lorenz-attractor

dna-helix

a turning double helix, coloured bases

dna-helix

yaw-pitch-roll

the three aircraft rotations in 3D

yaw-pitch-roll

first-person-maze

walk a grid maze, with a minimap

first-person-maze

generative (9)

game-of-life

Conway's Game of Life (SPACE reseeds)

game-of-life

boids

flocking birds (separation/alignment/cohesion)

boids

fireworks

rockets + fading particle bursts

fireworks

fourier-epicycles

rotating circles trace a square wave

fourier-epicycles

spirograph

animated hypotrochoid roulette curves

spirograph

l-system

an L-system fractal plant (grows + regrows)

l-system

flow-field

particles steered by a flow field (trails)

flow-field

cellular-automata

Wolfram's elementary automata

cellular-automata

clock-of-clocks

six digits spelled by a grid of clock hands

clock-of-clocks

textures (4)

texture-procedural

four textures built pixel by pixel

texture-procedural

texture-tiling

one tile repeated across the window

texture-tiling

render-texture

a scene drawn off-screen, then reused

render-texture

bunnymark

the sprite-count benchmark (click to add)

bunnymark

shaders (10)

julia-set

the Julia set, mouse-steered, in a shader

julia-set

mandelbrot-set

the Mandelbrot set, zoomable, in a shader

mandelbrot-set

raymarching

a raymarched SDF scene in a shader

raymarching

rounded-rect-shader

SDF rounded rects: fill, border, shadow

rounded-rect-shader

palette-switch

bands recolored by an ivec3 palette

palette-switch

shader-hot-reload

swap and recompile the GLSL at runtime

shader-hot-reload

postprocessing

post-process shaders cycled over a scene

postprocessing

custom-uniform

a mouse-steered swirl over a scene

custom-uniform

texture-painting

a blank texture painted by a shader

texture-painting

multi-sampler

two textures blended by a second sampler

multi-sampler