Reference Links
Distance Estimation / Ray Marching
The Science of Fractal Images, Heinz-Otto Peitgen and Dietmar Saupe, eds.
(1988)
Fractal rendering algorithms.
Ray Tracing Deterministic 3-D Fractals by John C. Hart et. al (1989)
The first paper on distance-estimating 3d fractals as a ray-marching
technique!
Distance Estimated 3D Fractals
Distance-estimated 3D fractals. This is what I really want to do, and the
source that lead me to this.
Demoscene Presentation on Ray Marching
“Don’t define the surface first and then compute the distance field, but
directly code a distance field and a surface will emerge.”
Unfortunately, a lot of the links in this presentation are dead.
Ray march shaders on Stack Exchange
A nice overview of what the algorithm is with unfortunately and
understandably little on the specifics of applying it.
Sample functions for various primitive objects in a ShaderToy
Made by Iñigo Quilez, who seems to be very prominent in this scene.
More information here on his website.
Also shows how to calculate binary intersections (unions, subtractions,
and intersections) of objects, repeat/rotate/translate/scale objects,
displace and blend objects, and more. This is a gold mine.
Terrain Ray Marching
Also by Iñigo Quilez.
Ray marching soft shadows
Thanks Iñigo Quilez.
Ray marching with THREE.js
Surprisingly achievable and smooth in Javascript, although complexity
suffers.
Distance estimation of Mandlebrot and Julia sets
Open Source Ray Tracers And Guides
Smallpt, a raytracer written in 99 lines of C++
Introduction to Ray Tracing: a Simple Method for Creating 3D Images
A more conceptual overview of the topic.
Fuzzy Photon — How to write a Raytracer
Gets into details with specific problems and code examples.
UCI RayTracing Tutorial
Contains more information on depth of field, isosurfaces (blobs), and auto
exposure.
Luminosity ray tracer written in Haskell
A lot of more mathematical language here, as should be expected from a
Haskell project.
Purple Alien Planet Raytracer written in C
An open-source implementation containing lots of math and explanations for
the underlying algorithms.
The Rendering Equation
The rendering equation describes the total amount of light emitted from a
point x along a particular viewing direction, given a function for
incoming light and a BRDF.
SDL Skeleton capable of drawing pixels to the screen
This may have saved me effort in writing boilerplate, although I had already
done most of this earlier. It’s definitely good to have another reference,
though.
Perlin Noise
Understanding Perlin Noise
Perlin noise for procedural textures, reads a lot on 2d noise (because of
simplicity to explain and diagram) but still very digestible. A lot like the
Eevee link.
Improved Noise reference implementation
A compact (3062-byte) Java implementation of Perlin noise, by Perlin himself.
Not dynamic or 4-dimensional, and filled with many weird hacks, but a good
starting point.
Improving Perlin Noise by Ken Perlin
Formulas for picking a random point on the surface of a sphere
Perlin noise derivatives by Iñigo Quilez
Misc
Ray Tracing Quaternion Julia Sets on the GPU (Keenan Crane, 2005)