This demo marks the beginning of the SDF era in the demo scene. If you watch most demos from 2009 they still use solid geometry. elevated showed the superiority of just using fragment shaders for everything. By 2009 the GPUs where fast enough to do SDF and people had come up with the idea of ray marching.
"Elevated" does not use a SDF, it is based on a grid mesh displaced with a vertex shader.
Iq, the main author of "Elevated" is indeed best known for popularizing SDFs in the demoscene, but for that particular intro, the SDF raymarching trend had already started and he wanted to do something different.
Well, not really, even its readme file mentions previous work. Look no further than iq's previous demos, for example. Also, anyone who is interested knows when the phrase “zero polys and shaders” was sung.
However, “Elevated” had great visuals, great music, captivated people, and at the same time was a 4 kilobyte demo. It became a milestone instantly, as told by cheering on live video. And it became natural for 4K demos to implement everything in a shader to eliminate the rest of the code and be competitive on the new level of visual performance.
Using SDFs and other pure maths to build these kinds of demos makes me wonder why we don't just build a whole game this way.
Why not go one step further and just skip the geometry pipeline altogether? Most of the stuff I see on shadertoy has absolutely nothing to do with triangles.
Claybook[0] uses SDF throughout. I don't think any of the game is conventional poly-based geometry.
Having built with both SDF and conventional geometry, it's much easier to find excellent 3D modellers than it is to find people who can build with SDF though.
> it's much easier to find excellent 3D modellers than it is to find people who can build with SDF though.
Maybe we simply need to develop a more intuitive domain-specific language for artists to work at this level of abstraction? The benefits of working this way are incredible to me... Just in that one presentation you find quotes like:
> Runtime performance not dependent on brush count
> O(1) particle<->SDF collision detection
> Perfect LOD
From what I understood it should be. If you look at the source code there is music.asm with what seems to be tables of data describing the music data and synth.asm with synthesizer interpreting it.