Programming SDF animations of Rick and Morty
danielchasehooper.com
danielchasehooper.com
Just to add, if you want smooth anti-aliased edges without the second super-sampling pass, you can use standard derivatives in your SDFs. Basically, replacing your step functions with 'aastep', e.g.
Well done!
Is working with the javascript canvas or abstractions on it like p5.js similar to what you're describing? Im not sure if you're talking about graphics programming (some familiarity with) or more specifically working with GPU shaders (no familiarity).
For a playlist on topicon YouTube from Inigo Quilez https://www.youtube.com/watch?v=0ifChJ0nJfM&list=PL0EpikNmjs...
That's exactly how hand-drawn animation is done! Shader programming is something else. This is a really cool article.
Can anyone comment on what it would be like in Vulkan or WebGPU/WebGL?
Vulkan you're doing GLSL -> SPIR-V
WebGPU you're doing GLSL -> WGSL -> (HLSL->DXIL) / (MSL->IR) / SPIR-V / GLSL (for the compact backend)
Then the driver takes GLSL/DXIL/Metal IR/SPIR-V/etc and produces it's own bytecode. Different copies of LLVM are involved a few different times in different places. It's a complex and frankly fairly crappy pipeline.
It seems like the trial-and-error approach to coming up with the 240 lines with appropriate decimal values may be just a tad time intensive.
The Balatro background reminds me (intentionally, I suspect) of demoscene effects, I love it
Oh, yes, I love it too!
Gives you the ability to make some cool looking effects like fresnel without post-processing filters
Took some work to support having lots of editors on the page. If you do the naïve thing and create a webgl canvas for every one and instantiate all CodeMirror editors at page load time, the whole page would freeze for several seconds. So I create the editors as they are about to be scrolled into view. I also create only one webgl canvas, and when a preview is paused I cache the preview to an img, and move the canvas to the newly active editor instance.