Please visit my the landing page to find video tutorials on computer graphics and other resources; this page contains

3D SDFs

2D SDFs

2D SDFs and gradients

2D SDFs in L

Ray-Surface intersection functions

Sphere functions

Box functions

Smoothstep functions

Trigonometric functions(new)

Filterable procedurals

Gradient noise derivatives

Value noise derivatives

Domain warping

Voronoise

Smooth voronoi

Voronoi edges

Sphere soft shadow

Oldschhol raytracing

Simple gpu raytracing

Tracing in tiles

SSE for CPU tracers

My first raytracer

Simple voxel

Mesh compression

Wavelet compression

3D models storage

Behind

Simple color palettes

Compact storage of floats

Minimal spline code

Minimal frustum culling

Compiling small

Textures inside gm.dls

Opening a file in 4kb

Living Characters in 4 kilobytes

Techniques for 64k demos

Smooth minimum for SDFs(new)

Domain Repetition(new)

Soft Shadows

Numerical normals for SDFs

Smooth Rounded Boxes(new)

Interior SDFs

Xor operator for SDFs

SDF Bounding Volumes

Binary-search raycasting for SDFs

FBM detail in SDFs

Ellipsoid SDF

Approximating the distance to implicits

Menger fractal

Raymarching terrains

Depth buffer with raymarching

Intro to SDF raymarching (2008)

Biplanar mapping

Texture repetition

Filtering procedural textures

Band-limiting procedural textures

Ray differentials and textures

Analytic checkers pattern filtering

Improved analytic checkers pattern filtering

Improved bilinear filtering

Improved hardware interpolation

Cylinder seams

Better fog

Multires ambient occlusion

Directional derivative

Screen space ambient occlusion

Per vertex AO

Simple global ilumination

Rational rendering and floating bar

Hacking the Ray-Triangle intersector

Stereo rendering

Basic VR

Avoiding trigonometry I

Avoiding trigonometry II

Gamma correct blurring

Simple water

Plane deformations

Feedback effect

Voronoi effect

The Game of Life

Rendering a cube in QBasic

Sphere ambient occlusion

Box ambient occlusion

Sphere density

Sphere visibility

Sphere projection

Inverse bilinear interpolation

Distance to triangle

Bezier bounding box

Disk/cylinder bounding box

Distance to an ellipse

Working with ellipses

Normal/areas for polygons

Area of a triangle

Computing mesh normals

Patched sphere

Fourier series

Smoothstep integral

Reflect and Clip

FM synthesis

Thinking with quaternions

Fast trisect() in GLSL

Inverse smoothstep

Float and random

The M1 bulb of the Mandelbrot set

The M2 bulb in the Mandelbrot set

Area of M1 in the Mandelbrot set

The symmetry of the Mandelbrot set

Introduction to the Mandelbrot set

Mandelbulb fractal

3D Julia set fractals

3D orbit traps

Procedural orbit traps

Bitmaps orbit traps

Geometric orbit traps

Budhabrot fractals

Popcorn images

IFS fractals

Lyapunov fractals

Icon images

**only**the written tutorials. I write them in my spare time, but I hope you enjoy them despite the errors or imprecisions they might contain. If you do and feel like it, you can support this work through Patreon or PayPal. Lastly, all code snippets you'll find are under the MIT license so you can easily reuse them.### Indices of useful functions

Remapping functions3D SDFs

2D SDFs

2D SDFs and gradients

2D SDFs in L

^{∞}-norm

Ray-Surface intersection functions

Sphere functions

Box functions

Smoothstep functions

Trigonometric functions(new)

Filterable procedurals

### Procedural noises

FBMGradient noise derivatives

Value noise derivatives

Domain warping

Voronoise

Smooth voronoi

Voronoi edges

### Raytracing

Path-tracing in one hourSphere soft shadow

Oldschhol raytracing

Simple gpu raytracing

Tracing in tiles

SSE for CPU tracers

My first raytracer

### Pointclouds and Splatting

Volumetric sort### Voxels

Voxel lines and occlusionSimple voxel

### Compression

Genetic algorithmMesh compression

Wavelet compression

3D models storage

### Size coding

Making (procedural) graphics in 4 kilobytesBehind

*Elevated*

Simple color palettes

Compact storage of floats

Minimal spline code

Minimal frustum culling

Compiling small

Textures inside gm.dls

Opening a file in 4kb

Living Characters in 4 kilobytes

Techniques for 64k demos

### SDFs & Raymarching

Raymarching SDFsSmooth minimum for SDFs(new)

Domain Repetition(new)

Soft Shadows

Numerical normals for SDFs

Smooth Rounded Boxes(new)

Interior SDFs

Xor operator for SDFs

SDF Bounding Volumes

Binary-search raycasting for SDFs

FBM detail in SDFs

Ellipsoid SDF

Approximating the distance to implicits

Menger fractal

Raymarching terrains

Depth buffer with raymarching

Intro to SDF raymarching (2008)

### Texturing and filtering

The Math of Premultiplied AlphaBiplanar mapping

Texture repetition

Filtering procedural textures

Band-limiting procedural textures

Ray differentials and textures

Analytic checkers pattern filtering

Improved analytic checkers pattern filtering

Improved bilinear filtering

Improved hardware interpolation

Cylinder seams

### Lighting

Outdoors lightingBetter fog

Multires ambient occlusion

Directional derivative

Screen space ambient occlusion

Per vertex AO

Simple global ilumination

### Renderer/Engine

Fixing frustum cullingRational rendering and floating bar

Hacking the Ray-Triangle intersector

Stereo rendering

Basic VR

Avoiding trigonometry I

Avoiding trigonometry II

Gamma correct blurring

### Simple oldschool effects

2D dynamic cloudsSimple water

Plane deformations

Feedback effect

Voronoi effect

The Game of Life

Rendering a cube in QBasic

### Useful maths

Simple IK without trigonometrySphere ambient occlusion

Box ambient occlusion

Sphere density

Sphere visibility

Sphere projection

Inverse bilinear interpolation

Distance to triangle

Bezier bounding box

Disk/cylinder bounding box

Distance to an ellipse

Working with ellipses

Normal/areas for polygons

Area of a triangle

Computing mesh normals

Patched sphere

Fourier series

Smoothstep integral

Reflect and Clip

FM synthesis

Thinking with quaternions

Fast trisect() in GLSL

Inverse smoothstep

Float and random

### Fractals & complex dynamics

Continuous iteration countThe M1 bulb of the Mandelbrot set

The M2 bulb in the Mandelbrot set

Area of M1 in the Mandelbrot set

The symmetry of the Mandelbrot set

Introduction to the Mandelbrot set

### Rendering fractals

Computing the SDF of fractalsMandelbulb fractal

3D Julia set fractals

3D orbit traps

Procedural orbit traps

Bitmaps orbit traps

Geometric orbit traps

Budhabrot fractals

Popcorn images

IFS fractals

Lyapunov fractals

Icon images