Commit Graph

98 Commits

Author SHA1 Message Date
Rezmason
1fc4f1f34e Posting roadmap before cutting a branch to support live config updates 2022-11-15 02:33:37 -08:00
Rezmason
f0898e7ecf All non-trivial shaders are now loaded from files. 2022-10-11 21:27:46 -07:00
Rezmason
e8be232e9b Fixing several embarrassing bugs.
WebGPU and REGL projects now flipY again, and they properly flip the symbolY glyph coordinate in the rain pass's fragment shader.
Switching on some older code that was disabled for FF Nightly support— it makes more sense to wait for that support as implementations finalize.
Added mipmap to images loaded into REGL project.
2022-10-11 09:25:24 -07:00
Rezmason
3843dd90d1 Moving bloom strength math to the combine steps, and fixing a redundant multiply issue in the REGL based renderer 2022-10-04 21:53:53 -07:00
Rezmason
fb3fb89d95 Softening the MSDF, ready to move on 2022-10-02 20:47:52 -07:00
Rezmason
95b67d1dad Detect and advise against running through SwiftShader 2022-10-02 13:20:50 -07:00
Rezmason
8f90edb516 Updating Readme to link to friends of the project and the Vice article 2022-09-29 22:15:01 -07:00
Rezmason
cde709b044 Renaming paletteEntries to palette 2022-09-29 22:15:01 -07:00
Rezmason
beb70473aa Fixed a WebGPU sequencing issue when skipIntro=true&once=false, caused by updating the cells and intro cells in the same compute pass. The WebGPU and REGL projects are now also slightly more alike. 2022-09-25 19:43:51 -07:00
Rezmason
e2be02c498 Added textures to base and glint shapes. 2022-09-17 13:51:48 -07:00
Rezmason
eddbd12c36 Added glint brightness and contrast, makes a big difference 2022-09-17 10:09:52 -07:00
Rezmason
9c2d6d7ed8 Adding "glint", the shapes that appear on top of the glyphs in the Resurrections opening titles. 2022-09-17 01:24:23 -07:00
Rezmason
6a3d38e965 More updates to the readme and todo 2022-09-16 21:42:37 -07:00
Rezmason
9ab9924294 Migrated changes to WebGPU 2022-09-16 21:08:00 -07:00
Rezmason
6969514c9b The cursor channel of the rain pass is now propagated in isolation to the effect passes. 2022-09-15 23:33:47 -07:00
Rezmason
17a615eec7 Altering course. The only remaining goal of the recode is to isolate the cursor glyphs and process them separately. 2022-09-15 21:23:11 -07:00
Rezmason
3b456baef9 Move brightness from the shine compute shader to the fragment shader and clean it up 2022-09-15 21:10:33 -07:00
Rezmason
b0613f9bc3 Removing brightness-based cycle style— I can no longer see any evidence that it occurs.
Updated the readme file
2022-09-15 00:41:04 -07:00
Rezmason
4c6e6fd662 Removed sun shower. Thunder and ripples are now handled by a third compute shader. 2022-09-14 23:09:00 -07:00
Rezmason
ec831ce6f1 Adding named debug groups to the WebGPU passes, and switching the pipeline create calls to the async methods 2022-09-11 20:09:32 -07:00
Rezmason
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. 2022-09-11 10:36:43 -07:00
Rezmason
4449b4ea2d Adding the card animation to the playtrix 2022-09-10 17:05:15 -07:00
Rezmason
f9ac81817f Updated the playdate glyph textures and increased their cycle speed a little bit 2022-09-09 22:57:57 -07:00
Rezmason
9b8d5b34b5 Added an IcoMoon font for the expanded glyph set 2022-09-09 00:10:05 -07:00
Rezmason
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 2022-09-08 23:13:52 -07:00
Rezmason
77d6176fd5 Updating the WebGPU code to match the REGL code 2022-09-08 19:51:39 -07:00
Rezmason
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. 2022-09-07 22:05:03 -07:00
Rezmason
76d37fc752 Freeing up a rain pass channel 2022-09-06 23:23:39 -07:00
Rezmason
bfa18d6926 Updated the Resurrections MSDF texture 2022-09-06 01:08:47 -07:00
Rezmason
17b0e11cb7 Expanding the to-do list to include audio, regenerated "updated glyph set, Playdate version, reformulation goals and Resurrections version 2022-09-04 23:34:09 -07:00
Rezmason
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. 2022-08-11 00:08:05 -07:00
Rezmason
e024f4bd4d Add camera setup to WebGPU project 2022-08-07 21:29:50 -07:00
Rezmason
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
2022-04-28 18:18:15 -07:00
Rezmason
577e94c7d1 Moving bloomPass's pyramids off of mipmaps fixes its appearance in Firefox Nightly 2021-12-06 07:34:04 -08:00
Rezmason
9896e2da84 Fixing a Firefox Nightly issue in the rain pass. 2021-12-05 22:58:32 -08:00
Rezmason
e27c1820cb Figuring out what's wrong in FF Nightly 2021-12-05 19:30:49 -08:00
Rezmason
b540ef4620 Explicitly using rgba8unorm format for rain pass render targets 2021-11-17 18:27:10 -08:00
Rezmason
3e6196a964 A merge into master revealed some problems with the way ES modules are imported. This will require some investigation. 2021-11-15 01:35:05 -08:00
Rezmason
b26155d20e Adding some more comments. Destructuring the context object in the pass modules. A little code cleanup in bloomPass. Changing the endPass sampler to be cheaper. 2021-11-15 01:05:05 -08:00
Rezmason
1b61e304a5 Refactoring the pass and pipeline, so that inputs and size are handed to and returned from the build function (formerly setSize). This is now the earliest place to build bind groups, which makes sense, because it's also the earliest place to create textures that are proportional to the size of the canvas. 2021-11-15 00:30:09 -08:00
Rezmason
b0a4acdfdb Rewrote the WebGPU bloom pass based on the classic Unreal solution of blurring and combining the levels of an image pyramid. Fixed the regl bloom pass to use the downscaled blurred mipmap levels to build the first pyramid. 2021-11-14 23:09:29 -08:00
Rezmason
7eecace634 My friend recommended a much simpler blur that doesn't build any image pyramids. Unfortunately my work towards an implementation isn't very promising— it doesn't pack the same wollop as the WebGL version— but I can built my pyramids on top of it. 2021-11-13 21:25:27 -08:00
Rezmason
910d29e175 Poking gpu-buffer a bit because I'm apparently afraid of writing a blur shader which I've already written once. 2021-11-11 23:30:37 -08:00
Rezmason
db928bbe7a All the post processing passes are now based on compute pipelines instead of render pipelines. 2021-11-11 21:50:27 -08:00
Rezmason
9c861fd50b Replacing the final copyToTexture call with a tiny render pass, so that the postprocessing passes can be compute shaders working off of storage textures instead. 2021-11-11 08:24:30 -08:00
Rezmason
dc4032e42a A little reorganization of methods in the passes. 2021-11-10 18:10:26 -08:00
Rezmason
a143e3fc03 Renamed gpu-uniforms to gpu-buffer, and messed around with its API.
I believe all the align, size, stride and byteOffset values are now in the proper units, ie. bytes.
2021-11-08 22:56:00 -08:00
Rezmason
6ab16b3091 Trying to implement the spec for the alignment and size of struct and array fields in gpu-uniforms. 2021-11-08 08:58:55 -08:00
Rezmason
1528ca39a5 Commenting out the tables and adding select to some shaders in place of the original ternary operator. 2021-11-08 03:45:06 -08:00
Rezmason
415ffa77ee Driving more uniforms.read calls from the actual shaders. 2021-11-08 03:01:46 -08:00