TODO: Reformulate the basis https://buf.com/films/the-matrix-resurrections Rain pass frag's output should match its debug view output The channels get individually blurred Then the other passes use the red, green and blue channels for separate things Tune the colors Maybe glow can be an SDF-derived effect instead, look into it Migrate the rest of the project over Migrate WebGPU Audio system Toggle (or number representing frequency) Load the sound effect Play it multiple times with delay Random pan Random volume? Randomize pitch a little? Playdate version Audio system Falling sound Launch sound Undocking sound Docking sound Maybe crank sounds? Not sure yet Resurrections Support anomaly streaks MSDF They should line up in Photoshop without too much trouble, actually Texture Maybe give normal Matrix code a pixel grill texture Lighting Different parts of a streak glow at different intensities, at different times The streaks often dim slower, ie. are brighter, than the glyphs beneath them Imagine they're metallic or something Support SDF bevel and "lights" https://shaderfun.com/2018/07/23/signed-distance-fields-part-8-gradients-bevels-and-noise/ Get the "normals" and color right Note: even completely dark glyphs can have glint on their edges "Golden hour" WebGPU Why is it brighter than the regl version? Create a project that tests them side-by-side That's right, two canvases, one regl and one webgpu program them both to do the same basic ops in a floating point texture display that texture Retrieve the texture from the GPU and spit it out Possible causes of difference Color space Floating point math Texture interpolation Blur implementation Try https://github.com/brendan-duncan/wgsl_reflect Get rid of end pass once it's possible to copy a bgra8unorm to a canvas texture Switch to rgba32float somehow? Why isn't this straightforward? Best practices https://www.youtube.com/watch?v=wYAvVUFQP2M&t=1360s Use labels and debug groups everywhere Create pipelines async-await Use implicit pipeline layouts sparingly I'm using implicit pipeline layouts What would explicit layouts look like? Improve loop support Write an explanation of the rain pass (and include images) Compute Volumetric quads Fullscreen quad and spacial mapping MSDFs Zion Control's matrix variant From Reloaded Idea: Build a UI Changes some uniforms Effect selection would swap out the desired effect pass, somehow The color palette stuff would be hard Deja vu effect: flashing rows Make them flash all the time Then use a thunder-like pattern to show and hide the flash gpu-buffer, working title Build mocha tests, example project Give it its own repo, microsite