Commit Graph

65 Commits

Author SHA1 Message Date
Rezmason
d85594a46c Vertically offsetting glyph columns by a random fraction of the height of a glyph when the volumetric mode is on, to prevent odd visual alignments 2022-09-30 00:11:22 -07:00
Rezmason
22dd5e8678 RGBs in config are no longer flat 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
f07bf7bceb Fixing a bug introduced with skipIntro 2022-09-24 21:39:05 -07:00
Rezmason
679580a394 Theatrics— first column is in the middle, next one's over to the side, then they all join in 2022-09-24 07:27:32 -07:00
Rezmason
965e21d3ba Adding intro and skipIntro option 2022-09-24 07:27:26 -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
9ab9924294 Migrated changes to WebGPU 2022-09-16 21:08:00 -07:00
Rezmason
3fc53f1bab Renaming shine to raindrop, which makes more sense 2022-09-16 17:01:22 -07:00
Rezmason
0d1d661401 A bit more cleanup in preparation for the reformulation 2022-09-11 23:48:43 -07:00
Rezmason
058b8189a9 Improving the "debug view" by basing it on rain time, so it's unaffected by the base brightness and contrast 2022-09-10 12:12:43 -07:00
Rezmason
9a4c2558e7 Making it loop again. 2022-09-09 18:03:23 -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
a14b6db911 A couple changes on the REGL side that missed the boat 2022-09-07 23:17:37 -07:00
Rezmason
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 2022-09-04 23:56:49 -07:00
Rezmason
58e3aac143 Replacing "logarithmic brightness" with a simple brightness-and-contrast setup. Adjusting a bunch of configs. 2022-09-04 23:48:34 -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
a0c1f22fd1 Updating WebGPU project to satisfy Chrome Canary 2022-08-07 19:17:22 -07:00
Rezmason
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. 2022-04-30 18:16:33 -07:00
Rezmason
e8458a1304 Arithmetic assignment operators were added 2022-04-30 18:16:33 -07:00
Rezmason
dfef272246 Binding syntax changes 2022-04-30 18:16:33 -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
928067996d The primary and bloom textures are now combined with a weight so that fainter bloom doesn't create a fainter overall effect. 2021-12-24 21:44:16 -08:00
Rezmason
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. 2021-12-21 02:22:20 -08:00
Rezmason
68ad689e1e They removed [[block]] from WGSL struct declarations. 2021-12-14 23:01:53 -08:00
Rezmason
17b6d7b9aa Fixing a math bug in the WGSL rain pass 2021-12-11 23:15:50 -08:00
Rezmason
508c941fcd The glyph textures can now be rectangular, I think. 2021-12-06 22:44:18 -08: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
743ba87e86 Renaming some variables in the rainPass WGSL shader from what they were in the GLSL version. 2021-11-21 00:50:10 -08:00
Rezmason
29329aed7f Messing with the weights in the WebGPU bloom pass's combine shader to better resemble what's in the regl version. 2021-11-15 01:06:10 -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
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
f907c1c91b Fixing a vague comment that got pasted to all the post processing passes. 2021-11-14 09:04:41 -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
cebd6877bb Just learned about the private storage class. The rain pass can use it to look up the corner positions of quads, rather than derive them mathematically. 2021-11-12 00:03:06 -08:00
Rezmason
d05cb3928d Discovered an overlooked vertical flip I wasn't performing in the WGSL resurrection shader. 2021-11-11 21:56:44 -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
9ad655ca2e Created a pass-through post processing compute pass. The other post-processing passes will be changed over to this kind of thing.
makePassFBO has now been split into makeRenderTarget and makeComputeTarget.
2021-11-11 09:18:32 -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
6586badf42 The WebGPU rainPass now performs a high pass filter on its own fragments. I think I prefer this to a separate high pass filter, because this one is pre-blendfunc, ie. fragments will only be added to the texture if they are individually bright enough to contribute. 2021-11-09 07:08:07 -08:00
Rezmason
786c83cca0 More tweaks to the volumetric mode debug view. 2021-11-08 23:04:08 -08:00
Rezmason
11bba1020d Changing my mind a little about how to render the "behind the scenes" version of the effect, in regular and volumetric mode.
An isometric perspective would be neat.
2021-11-08 09:29:04 -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
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
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