Files
matrix/TODO.txt

94 lines
2.8 KiB
Plaintext

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