Commit Graph

  • eddbd12c36 Added glint brightness and contrast, makes a big difference Rezmason 2022-09-17 10:09:52 -07:00
  • 9c2d6d7ed8 Adding "glint", the shapes that appear on top of the glyphs in the Resurrections opening titles. Rezmason 2022-09-17 01:24:23 -07:00
  • 6a3d38e965 More updates to the readme and todo Rezmason 2022-09-16 21:42:37 -07:00
  • 86036d9ceb The cursor color, when unspecified, now defaults to bright white if an effect is specified, rather than falling back on the colors from the versions Rezmason 2022-09-16 21:37:30 -07:00
  • 9ab9924294 Migrated changes to WebGPU Rezmason 2022-09-16 21:08:00 -07:00
  • ab280a95d3 A tiny bit of cleanup before tackling the WebGPU version Rezmason 2022-09-16 17:34:44 -07:00
  • 3fc53f1bab Renaming shine to raindrop, which makes more sense Rezmason 2022-09-16 16:02:06 -07:00
  • 6969514c9b The cursor channel of the rain pass is now propagated in isolation to the effect passes. Rezmason 2022-09-15 23:33:47 -07:00
  • 17a615eec7 Altering course. The only remaining goal of the recode is to isolate the cursor glyphs and process them separately. Rezmason 2022-09-15 21:23:11 -07:00
  • 3b456baef9 Move brightness from the shine compute shader to the fragment shader and clean it up Rezmason 2022-09-15 21:10:33 -07:00
  • b0613f9bc3 Removing brightness-based cycle style— I can no longer see any evidence that it occurs. Updated the readme file Rezmason 2022-09-15 00:40:52 -07:00
  • 4c6e6fd662 Removed sun shower. Thunder and ripples are now handled by a third compute shader. Rezmason 2022-09-14 22:57:39 -07:00
  • 0d1d661401 A bit more cleanup in preparation for the reformulation Rezmason 2022-09-11 23:48:43 -07:00
  • 0a5daa696a gpu-buffer now eliminates whitespace from types before identifying them Rezmason 2022-09-11 20:09:59 -07:00
  • ec831ce6f1 Adding named debug groups to the WebGPU passes, and switching the pipeline create calls to the async methods Rezmason 2022-09-11 15:03:51 -07:00
  • c4fe2c53e4 Cleaning up TODO. Tried adding a pixel grill to the rain pass frag shader, but it moired and it didn't look very good. Rezmason 2022-09-11 10:11:38 -07:00
  • 4449b4ea2d Adding the card animation to the playtrix Rezmason 2022-09-10 17:05:15 -07:00
  • 058b8189a9 Improving the "debug view" by basing it on rain time, so it's unaffected by the base brightness and contrast Rezmason 2022-09-10 12:12:43 -07:00
  • f9ac81817f Updated the playdate glyph textures and increased their cycle speed a little bit Rezmason 2022-09-09 22:57:57 -07:00
  • 9a4c2558e7 Making it loop again. Rezmason 2022-09-09 18:03:23 -07:00
  • 9b8d5b34b5 Added an IcoMoon font for the expanded glyph set Rezmason 2022-09-09 00:10:05 -07:00
  • ed49105c69 Cursors are now much more robustly detected, and the debug view— previously called the computation texture— now resembles BUF's behind-the-scenes VFX footage. Isolated the isometric camera option from the debug view Rezmason 2022-09-08 23:12:58 -07:00
  • 77d6176fd5 Updating the WebGPU code to match the REGL code Rezmason 2022-09-08 19:51:39 -07:00
  • a14b6db911 A couple changes on the REGL side that missed the boat Rezmason 2022-09-07 23:00:58 -07:00
  • 2eb7b70926 Split the rain pass's compute shader in two, with one governing brightness and the other governing glyph cycling. This allows glyphs to randomly cycle properly, and leaves room to store new properties. Rezmason 2022-09-07 12:35:27 -07:00
  • 76d37fc752 Freeing up a rain pass channel Rezmason 2022-09-06 23:23:39 -07:00
  • c1fa822299 Adding a "3d" version, since just turning on volumetric doesn't look particularly good with the other recent config changes. Rezmason 2022-09-06 01:15:35 -07:00
  • bfa18d6926 Updated the Resurrections MSDF texture Rezmason 2022-09-06 01:08:47 -07:00
  • f66f8232d9 Adding Playdate compile instructions to the project Rezmason 2022-09-05 02:35:22 -07:00
  • 33edffc99c Removing the "resurrection" effect that mirrored the Matrix Resurrections trailers, as they aren't canon and the color channels of the output textures can be put to better use Rezmason 2022-09-04 23:56:49 -07:00
  • 1aeaba7a3f Adding dated attribution text to top of Lua file Rezmason 2022-06-20 11:28:15 -07:00
  • b26d585cad The latest SDK now reports correct bounds for partly transparent images Rezmason 2022-06-18 21:41:23 -07:00
  • c3f22a5afb Reducing the number of fade variants when the effect is running quicker, to gain some more CPU. Rezmason 2022-06-07 20:20:13 -07:00
  • 687c7ab613 Replacing references to playdate API with references to its components. No apparent performance change. Rezmason 2022-06-07 20:19:06 -07:00
  • c0e94627e7 Throwing some extra C compiler warnings into the CMakeLists. Found and dealt with some double-to-float conversions, cut CPU use down to about 10%. Rezmason 2022-06-07 18:23:53 -07:00
  • 346bbbb84d Moving more playdate files around, adding a playdate-specific gitignore to the subdirectory and adding an easter egg. Rezmason 2022-06-06 19:18:59 -07:00
  • fadc1ed639 C project now uses drawing contexts to draw faded glyph variants to a cache. Switched to an opaque fade gradient and white-transparent drawing mode to avoid a bug discovered in the C SDK. Rezmason 2022-06-06 12:49:54 -07:00
  • 0ce4f35eb2 Replacing lockImage and unlockImage with pushContext and popContext in the Lua project Rezmason 2022-06-06 07:49:11 -07:00
  • 6a3430d862 Began implementing a function to composite two bitmap views before I realized pushContext and popContext probably do what I need instead Rezmason 2022-06-06 07:47:27 -07:00
  • 8df808ea76 Began work on the C port. To my knowledge, everything is working except the graphics code. The C API doesn't include bitmap compositing functions out-of-the-box. Rezmason 2022-06-05 23:19:03 -07:00
  • 5bebf6ad71 Replaced dithering logic with compositing a pre-rendered dithered gradient. Rezmason 2022-06-05 11:36:20 -07:00
  • 551ce132c4 Various playdate optimizations, increasing unused CPU to hopefully drive audio or something. Moved the Lua project into playdate/matrix_lua Rezmason 2022-06-05 00:23:07 -07:00
  • ceb5b03458 "Flattening" the faded images and glyphs into a 2D array of images reduces the number of draw calls per update to one per changed glyph Rezmason 2022-05-30 22:01:39 -07:00
  • a48263873e Replacing image tables with arrays of images eliminates the memory leak Rezmason 2022-05-30 22:00:45 -07:00
  • 7fbb7a62e1 Learning Lua, implemented the matrix effect for the playdate but there are memory and framerate issues Rezmason 2022-05-30 18:23:57 -07:00
  • 9a613f3588 Starting playdate project Rezmason 2022-04-30 14:40:34 -07:00
  • 58e3aac143 Replacing "logarithmic brightness" with a simple brightness-and-contrast setup. Adjusting a bunch of configs. Rezmason 2022-09-04 23:48:34 -07:00
  • 17b0e11cb7 Expanding the to-do list to include audio, regenerated "updated glyph set, Playdate version, reformulation goals and Resurrections version Rezmason 2022-09-04 23:34:09 -07:00
  • aee790bf4b Making supportsWebGPU more stringent Rezmason 2022-08-28 23:04:38 -07:00
  • 5133d44054 Merge pull request #16 from 57r31/master Rezmason 2022-08-25 09:04:46 -07:00
  • 5886f7e031 Fixing another README link Rezmason 2022-08-25 09:04:14 -07:00
  • 216ca7f5f9 fix a link serge 2022-08-25 19:52:19 +10:00
  • 3da3db61f1 Camera input and mirror effect now also work in WebGPU. Added the "once" parameter, which renders a single frame. Fixed bugs in gpu-buffer. Rezmason 2022-08-11 00:08:05 -07:00
  • fc6821f4db Making sure copyTextureToTexture can run, even though the WebGPU project still relies on endPass Rezmason 2022-08-09 22:25:35 -07:00
  • e024f4bd4d Add camera setup to WebGPU project Rezmason 2022-08-07 21:21:50 -07:00
  • 6aa025870c Running prettier Rezmason 2022-08-07 19:17:59 -07:00
  • a0c1f22fd1 Updating WebGPU project to satisfy Chrome Canary Rezmason 2022-08-07 19:17:22 -07:00
  • 7bed65b479 Update README.md Rezmason 2022-08-07 00:39:48 -07:00
  • 581135bd0f Update readme to reference mirror mode Rezmason 2022-08-07 00:38:58 -07:00
  • aabf0a32ee Double click now toggles full screen. Delayed initializing regl until the camera is set up, so its start time comes after the visitor closes the browser prompt Rezmason 2022-08-02 21:39:47 -07:00
  • ad81de744d Renamed ripples pass to mirror pass Rezmason 2022-08-02 21:25:54 -07:00
  • 8aeb156875 By default, camera features are disabled; they're opted into by URL param and browser prompt. Rezmason 2022-08-02 21:23:27 -07:00
  • 3e301e9e58 code brightness is now intensified by the ripples. Added webcam support. Rezmason 2022-08-02 09:56:13 -07:00
  • 25255599aa Replaced the sudden sine ripple with a sin(x)/x offset by elapsed time. Rezmason 2022-08-02 04:12:52 -07:00
  • 503c97adeb Ripples pass now supports five simultaneous clicks; the ripples are circular, accounting for the aspect ratio; click event is handled within the ripples pass module. Rezmason 2022-08-02 03:39:57 -07:00
  • f0ffa6fce2 Changing back glyph edge crop, taste is subjective but symbols are getting cut off Rezmason 2022-08-02 03:36:57 -07:00
  • 5b6062fce4 Update regl to support uniform arrays Rezmason 2022-08-02 03:35:55 -07:00
  • d910e2e49d animation length serge 2022-08-01 19:05:51 +10:00
  • ed2fff88a8 onclick ripple serge 2022-07-30 17:37:21 +10:00
  • 65d0380bde 2/3 serge 2022-07-29 19:54:52 +10:00
  • b64f7c247a test serge 2022-07-07 19:47:44 +10:00
  • c2eb3d0602 not bad for first time serge 2022-07-05 05:24:38 +10:00
  • a4a0406826 Ran prettier. Rezmason 2022-05-04 17:42:50 -07:00
  • a6c88913f5 A pipeline is now an object with a build method and a run method. The build method returns the last step's outputs object. Rezmason 2022-05-03 12:07:48 -07:00
  • b09887ba0f GPUComputePassEnncoder::dispatch got renamed to dispatchWorkgroups Rezmason 2022-05-03 12:00:25 -07:00
  • 0d079fa924 yadda yadda doctype Rezmason 2022-04-30 18:05:58 -07:00
  • f72d5450e8 Replacing the deprecated loadValue property in the render pass config descriptors' color attachments Rezmason 2022-04-30 18:05:34 -07:00
  • e39c26a95a The delimiter between WGSL struct fields is now a comma, which is also the delimiter between parameters in angle brackets, so gpu-buffer needs to be a little cleverer with the lines it separates. Rezmason 2022-04-30 18:00:35 -07:00
  • e8458a1304 Arithmetic assignment operators were added Rezmason 2022-04-30 15:46:58 -07:00
  • 4118faca27 Pass::endPass --> Pass:end Rezmason 2022-04-30 15:45:22 -07:00
  • dfef272246 Binding syntax changes Rezmason 2022-04-30 14:40:07 -07:00
  • 33497270a8 Fleshing out the megacity version, and adding it to the readme Rezmason 2022-04-28 18:27:01 -07:00
  • b56f63b74b Fixing the asterisk glyph in the font and glyph sets. Adding the megacity glyph to the font and added a megacity glyph set. Fixed a bug in the rain pass's fragment shader that caused glyphs in the last column to go missing Rezmason 2022-04-28 18:18:15 -07:00
  • d3905387fb Adding the Game Theory ARG cipher fonts. Rezmason 2021-12-26 00:20:48 -08:00
  • 928067996d The primary and bloom textures are now combined with a weight so that fainter bloom doesn't create a fainter overall effect. Rezmason 2021-12-24 21:33:39 -08:00
  • a962a6128d Expose dither magnitude and bloom strength through URL parameters. Rezmason 2021-12-24 20:02:40 -08:00
  • adada69cdf Fixes to the font configuration logic. Rezmason 2021-12-21 15:13:54 -08:00
  • 22f3ab4092 You can now specify the glyph font by name in the URL. Rezmason 2021-12-21 15:00:15 -08:00
  • 38f29ad21b You can now loop the effect. It's not super great, but it ought to make it easier to create repeating backgrounds or something. Rezmason 2021-12-21 02:22:20 -08:00
  • 62e9bfea82 Click-to-fullscreen now works with Safari as well. Rezmason 2021-12-19 23:24:15 -08:00
  • bdd8782619 The lkg object shouldn't be retrieved from the device or spoofed unless holoplay is enabled. Rezmason 2021-12-19 22:41:10 -08:00
  • 1a7043a986 Moved looking glass context logic into an "lkgHelper" module. Fixed math issues. Rezmason 2021-12-19 22:02:19 -08:00
  • 87fa3462ea Add error handling if the holoplay service cannot be reached. Rezmason 2021-12-19 12:33:29 -08:00
  • 2364bbc8bc rainPass now renders multiple cameras and viewports, using data from the hardware. Added quiltPass (which uses holoplay’s quilting shader). Added a holoplay effect version. (Versions can also now specify a preferred renderer.) Rezmason 2021-12-15 07:20:33 -08:00
  • 68ad689e1e They removed [[block]] from WGSL struct declarations. Rezmason 2021-12-14 23:01:53 -08:00
  • 17b6d7b9aa Fixing a math bug in the WGSL rain pass Rezmason 2021-12-11 23:15:50 -08:00
  • 25e9f10f69 Adding "updated" glyph set from The Matrix Resurrections, and a corresponding effect version. Rezmason 2021-12-11 22:21:24 -08:00
  • 508c941fcd The glyph textures can now be rectangular, I think. Rezmason 2021-12-06 22:44:18 -08:00
  • 577e94c7d1 Moving bloomPass's pyramids off of mipmaps fixes its appearance in Firefox Nightly Rezmason 2021-12-06 07:34:04 -08:00
  • 9896e2da84 Fixing a Firefox Nightly issue in the rain pass. Rezmason 2021-12-05 22:58:32 -08:00