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
Rezmason
61a3a6d783
Moved the WebGPU code off of "std140" and onto gpu-uniforms.
2021-11-08 02:23:33 -08:00