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
Rezmason
61a3a6d783
Moved the WebGPU code off of "std140" and onto gpu-uniforms.
2021-11-08 02:23:33 -08:00
Rezmason
bd3d0c76d2
Fixing the names of shaders in the passes. The loadShader utility function now returns the code and the module, since I'm hoping to parse uniform buffer layouts from the code.
2021-11-07 00:41:25 -07:00
Rezmason
bade1667ad
Making some comments in the WebGPU rainPass and changing the "effect=none" view to be easier on the eyes.
2021-11-06 15:19:56 -07:00
Rezmason
89b9f4e363
Ported all the post processing regl passes to WebGPU. Fixed the CORS stuff in loadTexture. Renamed createRenderTargetTexture to makePassFBO, to conform with the regl project. Added make1DTexture, which stripePass uses.
2021-11-06 05:03:16 -07:00
Rezmason
230847e5b8
Added runtime texture targets. A pass now returns its resources in getOutputs(), which subsequent passes access as getInputs().
2021-11-05 01:06:39 -07:00
Rezmason
f8959cd7d9
Renaming msdfSampler to linearSampler; adding loadShaderModule utility method; busting the rain render out of its render bundle (which won't be useful long-term).
2021-11-03 20:01:59 -07:00
Rezmason
8f09fade43
Contemplating my next steps.
2021-11-02 23:20:54 -07:00
Rezmason
348b07d237
Actually the ping-pong setup isn't necessary for this compute shader, since it does everything in-place.
...
Undid all the y-flips I could find, and they all canceled one another out, except for the glyph UVs in the fragment shader.
2021-11-01 08:38:48 -07:00