mirror of
https://github.com/Rezmason/matrix.git
synced 2026-04-14 12:29:30 -07:00
93 lines
2.9 KiB
Plaintext
93 lines
2.9 KiB
Plaintext
TODO:
|
|
|
|
Reformulate the basis
|
|
Separate cursor and non-cursor parts of the code into rain pass output channels
|
|
Downstream passes can add them or color them separately
|
|
Add cursorColor to config
|
|
Switch operator/resurrections/classic to this
|
|
Tune ALL the versions!
|
|
Migrate to WebGPU
|
|
|
|
Update the README
|
|
|
|
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
|
|
|
|
Support Resurrections anomaly streaks
|
|
Kind of like the cursor: new rain pass output channel, new config prop
|
|
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 Resurrections 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"
|
|
Stuff MSDF-derived normal vectors from rain pass frag into two of its output channels
|
|
Anomaly mode toggles between this and anomaly streaks
|
|
|
|
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?
|
|
Try shorthand
|
|
Share a bind group and layout just for time?
|
|
Try using a buffer for the stripe pass 1D texture
|
|
|
|
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
|
|
Support type aliasing (type Q = array<i32, 5>)
|
|
Support shorthand (vec4f)
|
|
Build mocha tests, example project
|
|
Give it its own repo, microsite
|