Raymarching Distance Fields (2008-2020 compilation)
iquilezles.org
iquilezles.org
* https://web.archive.org/web/20160519071801/http://freespace....
The source is available here: https://github.com/mmp/pbrt-v3/
The latest text has an additional author: Wenzel Jakob
https://www.shadertoy.com/view/ldd3DX
// Created by inigo quilez - iq/2018
// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
// A surfer boy in the beach, disney/pixar style. I had to be very careful
// with the complexity, otherwise the browser would crash during shader
// compilation. I also had to split the boy in two layers because of that,
// see below (the single pass version is smaller of course but takes 3 extra
// seconds to compile, and renders a bit more slowly)
//
// This is totally painted to camera, it won't work from others perspectives.
//
// Common - contains some basic stuff
// Buffer A - renders the brackground - not super polished really
// Buffer B - blurs the background
// Buffer C - paints the boy, except the hand and the board
// Image - paints the hand and the board, and does some minimal postpro
//
// If you have a slow PC, you can watch it here:
https://www.youtube.com/watch?v=ya3FRzuozQ0And Happy Jumping:
https://www.shadertoy.com/view/3lsSzf
// Created by inigo quilez - iq/2019
// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
//
//
// An animation test - a happy and blobby creature jumping and
// looking around. It gets off-model very often, but it looks
// good enough I think.
//
// Making-of and related math/shader/art explanations (6 hours
// long): https://www.youtube.com/watch?v=Cfe5UQ-1L9Q
//
// Video capture:
https://www.youtube.com/watch?v=s_UOFo2IULQ //
// You can buy a metal print of this shader here:
https://www.redbubble.com/i/metal-print/Happy-Jumping-by-Ini...One of the best Siggraph papers from last year was Monte Carlo Geometry Processing http://www.cs.cmu.edu/~kmcrane/Projects/MonteCarloGeometryPr.... It doesn't introduce a new representation, but does introduce a new way to render various representations by sampling them in a unified way
Someone really needs to update this to work with current headsets and controllers: https://github.com/jimbo00000/RiftRay
(it works on the Rift last time I checked but uses the original 3DOF remove for interactions)
It was a specially optimized version to be able to run at full framerate on the hardware of that time. I have looked for it but it doesn't seem to be available anywhere.
There is a Shadertoy version but without the optimization and last time I tried I actually had to tweak it a little to make it compile.
Raymarching is heavily shader dependent which shouldn't be bottlenecked by webgl at all.
Some of the slides here seem to support this: https://www.khronos.org/assets/uploads/developers/library/20...
API overhead caused by WebGL is absolutely minuscule.